我有一个垂直的 LinearLayout,其中包含以下小部件显示在中心,LinearLayout 的重力设置为“中心”:
- 图像视图
- 文本输入布局
- 文本输入布局
- 按钮
当在较小的屏幕设备上时,这看起来很好,底部的按钮消失了。当我为两个 TextInputLayouts 都显示错误时,情况会变得更糟。
屏幕截图正常屏幕:
截图小屏幕:
问题:
我想要的是在小屏幕上,ImageView 应该调整自身大小以适应所有视图,而在更大的屏幕上,ImageView 应该保持其最大可用大小,而所有内容都显示在中心(如屏幕截图 1 中所示)。
任何帮助将不胜感激!:)
源 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="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/input_view_margin"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_transaction_history_big" />
<TextView
style="@style/ReportHeading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txt_transaction_history" />
<android.support.v4.widget.Space
android:layout_width="wrap_content"
android:layout_height="40dp" />
<TextInputLayout
android:id="@+id/wrapperFromDate"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextInputEditText
android:id="@+id/edtFromDate"
style="@style/InputLayoutEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:hint="@string/hint_from_date" />
</TextInputLayout>
<TextInputLayout
android:id="@+id/wrapperToDate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<TextInputEditText
android:id="@+id/edtToDate"
style="@style/InputLayoutEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:hint="@string/hint_to_date" />
</TextInputLayout>
<Button
android:id="@+id/btnSubmit"
style="@style/PrimaryButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="35dp"
android:text="@string/action_submit" />
</LinearLayout>