Итак, у меня есть заголовок, а затем CardView, который должен заполнить экран до нижнего колонтитула. Проблема в том, что он заполняет весь экран, а нижний колонтитул уходит «под» экран, как вы можете видеть на изображениях.
Я хочу, чтобы нижний колонтитул (кнопка + два изображения) всегда был внизу, а просмотр карты всегда должен занимать остальную часть экрана. В просмотре карты есть прокрутка, которая позволяет читать текст в просмотре карты.
В любом случае, вот код XML:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/grey_10">
<View
android:layout_width="match_parent"
android:layout_height="160dp"
android:background="@color/colorPrimary" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"
android:layout_marginBottom="@dimen/spacing_mlarge"
android:orientation="vertical"
android:padding="@dimen/spacing_mlarge">
<TextView
android:id="@+id/qstView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_marginBottom="20dp"
android:text="Insert question text here"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Large"
android:textColor="@color/white" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.CardView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginBottom="@dimen/spacing_middle"
android:layout_marginEnd="@dimen/spacing_middle"
android:layout_marginLeft="@dimen/spacing_middle"
android:layout_marginRight="@dimen/spacing_middle"
android:layout_marginStart="@dimen/spacing_middle"
android:layout_marginTop="@dimen/spacing_middle"
android:visibility="visible"
app:cardCornerRadius="6dp"
app:cardElevation="5dp">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/checkbox_full_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:orientation="vertical">
</LinearLayout>
</LinearLayout>
</ScrollView>
</android.support.v7.widget.CardView>
</LinearLayout>
<Button
android:id="@+id/add_field_button"
android:layout_width="match_parent"
android:layout_height="55dp"
android:onClick="onAddAnswer"
android:layout_gravity="bottom"
android:layout_marginLeft="-4dp"
android:layout_marginRight="-4dp"
android:background="@drawable/btn_rounded_primary"
android:text="Suivant"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textStyle="bold" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginBottom="@dimen/spacing_mlarge"
android:layout_gravity="center_horizontal"
android:gravity="center">
<ImageView
android:layout_width="80dp"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="@dimen/spacing_mlarge"
android:layout_marginTop="@dimen/spacing_large"
android:src="@drawable/ineedhelp"/>
<View
android:layout_width="@dimen/spacing_large"
android:layout_height="0dp" />
<ImageView
android:layout_width="80dp"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="@dimen/spacing_mlarge"
android:layout_marginTop="@dimen/spacing_large"
android:src="@drawable/mbtouch_dark"/>
</LinearLayout>
<View
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginBottom="@dimen/spacing_middle"
android:layout_alignParentBottom="true"/>
</LinearLayout>
</RelativeLayout>
Это то, что у меня есть на данный момент:
И это то, что я хотел бы иметь (здесь я приводил размеры, но поскольку не все устройства одинаковы, пространство не будет использоваться оптимально).
Заранее спасибо!