A CardView
расширяет FrameLayout
в основном.Это означает, что представления располагаются друг над другом, а не линейно, как в LinearLayout
.Для этого вы хотите поместить TextViews
в LinearLayout
внутри CardView
:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="match_parent"
card_view:cardCornerRadius="10dp"
android:orientation="vertical"
card_view:cardElevation="10dp"
android:layout_margin="10dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/text_nom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:layout_gravity="start"
android:padding="20dp" />
<TextView
android:id="@+id/text_heure"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:padding="20dp" />
<TextView
android:id="@+id/text_lieu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="20dp"
android:layout_below="@+id/text_nom"/>
</LinearLayout>
</android.support.v7.widget.CardView>
Обратите внимание на ориентацию vertical
в линейном макете.
Если выЕсли вы хотите сохранить стиль FrameLayout, у элемента есть свойство android:layout_gravity
, которое можно установить на bottom
, чтобы поместить элемент внизу.