我按此顺序具有垂直方向的布局:
recyclerview动态填充网络请求的结果。
在按下任何TextInputLayout之前,我想查看页面顶部的表(1和2),下面还有其他所有内容。
如果单击TextInputLayout(3或4),则会出现键盘,并且recyclerview(2)应该从底部缩小。这是布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:id="@+id/pb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
<LinearLayout
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/id"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/first_name"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/last_name"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/telephone"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/address"/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="@dimen/table_height"
android:layout_below="@id/header"
android:layout_above="@id/input_layout_name"/>
<TextView
android:id="@+id/update_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="@string/update"
android:visibility="gone"/>
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_phone"
android:layout_above="@id/update_btn"
android:layout_width="@dimen/input_width"
android:layout_height="wrap_content"
android:visibility="gone">
<EditText
android:id="@+id/input_amount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/phone_hint" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_name"
android:layout_above="@id/input_layout_phone"
android:layout_width="@dimen/input_width"
android:layout_height="wrap_content"
android:visibility="gone">
<EditText
android:id="@+id/input_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/name_hint" />
</android.support.design.widget.TextInputLayout>
清单清单类似
<activity android:name=".activities.DetailsActivity"/>
在键盘出现后缩小recyclerview。直到我告诉recyclerview在第一个TextInputLayout上方进行布局,这一切都没有缩小。
在键盘出现之前,我注意到表头(1)和行(2)之间的间距等于2个TextInputLayouts的高度。当键盘出现时,recyclerview向上移动并消除间隙,使其完全位于标题下方。如何固定我的布局以使桌子保持在一起,出现键盘时缩小?
提前谢谢