dazai
dazai

Reputation: 716

Image in cardview not filling it completely

I have this cardview with an image but the thing is, the image does not fill the card and I am not sure why this is happening (changing the width does not seem to affect anything).

This is how it looks: enter image description here

This is the xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_marginStart="10dp"
   android:orientation="vertical">

   <androidx.cardview.widget.CardView
       android:layout_width="180dp"
       android:layout_height="130dp"
       app:cardCornerRadius="16dp"
       app:strokeColor="@color/white">

       <ImageView
           android:id="@+id/iv_news"
           android:layout_width="250dp"
           android:layout_height="130dp"
           android:layout_marginStart="10dp"
           android:background="@drawable/card_background_shape"
           android:scaleType="centerCrop" />
   </androidx.cardview.widget.CardView>

   <TextView
       android:id="@+id/tv_title"
       android:layout_width="180dp"
       android:layout_height="wrap_content"
       android:layout_marginStart="10dp"
       android:layout_marginTop="5dp"
       android:gravity="center"
       android:text="@string/news_title"
       android:textAlignment="center"
       android:textAppearance="?android:attr/textAppearanceSmall"
       android:textColor="@color/black" />

</LinearLayout>



Upvotes: 0

Views: 669

Answers (2)

Ole Pannier
Ole Pannier

Reputation: 3673

You need to remove android:layout_marginStart="10dp" in your ImageView.

It only should look like this:

<ImageView
           android:id="@+id/iv_news"
           android:layout_width="250dp"
           android:layout_height="130dp"
           android:background="@drawable/card_background_shape"
           android:scaleType="centerCrop" />

Result:

enter image description here

Upvotes: 1

Abdur Rahman
Abdur Rahman

Reputation: 1

set your cardView android:layout_width="wrap_content" or "250dp"

<androidx.cardview.widget.CardView
   android:layout_width="wrap_content"
   android:layout_height="130dp"
   app:cardCornerRadius="16dp"
   app:strokeColor="@color/white">

   <ImageView
       android:id="@+id/iv_news"
       android:layout_width="250dp"
       android:layout_height="130dp"
       android:layout_marginStart="10dp"
       android:background="@drawable/card_background_shape"
       android:scaleType="centerCrop" />

  </androidx.cardview.widget.CardView>

Upvotes: 0

Related Questions