Reputation: 99
I am trying to display two cards of equal size, one of the CardViews will display the image and another will display TextView. Currently both the CardViews are of different sizes as shown in the image
How can I make both the card views of equal size and make the display side by side at an equal margin from start and end? Below is the code.
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:columnCount="2"
android:rowCount="4"
android:layout_marginTop="10dp"
android:orientation="horizontal"
android:padding="8dp">
<androidx.cardview.widget.CardView
android:id="@+id/cardImagePractise"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="4dp"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
app:cardCornerRadius="10dp"
android:foreground="?android:attr/selectableItemBackground">
<ImageView
android:id="@+id/imageViewPractise"
android:layout_width="100dp"
android:layout_height="100dp"
android:scaleType="centerCrop" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/cardTextPractise"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="4dp"
app:cardCornerRadius="10dp"
android:foreground="?android:attr/selectableItemBackground"
android:focusable="true"
tools:ignore="UsingOnClickInXml">
<TextView
android:id="@+id/textViewPractise"
android:layout_width="wrap_content"
android:gravity="center"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_marginTop="10dp"
android:layout_height="100dp"
android:textStyle="bold"
android:text="Random Name"
android:textSize="18sp" />
</androidx.cardview.widget.CardView>
</GridLayout>
Upvotes: 0
Views: 53
Reputation: 82
In cardview the weight attribute cannot be applied. You can nest the cardview inside a LinearLayout
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content">
<!--- CARDVIEW HERE !--->
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content">
<!--- CARDVIEW HERE !--->
</LinearLayout>
</LinearLayout>
Upvotes: 0