当键盘弹出时,我的布局会发生变化。 具体来说,寄存器按钮向上移动并位于其中一个EditTexts之上。 我希望我的视图保持相同的大小,并且能够在键盘打开时在较小的视口中滚动它。 我尝试过android:windowSoftInputMode =" adjustResize" (按钮被移动)和" adjustPan" (按钮不会移动,但要看到按钮,首先必须关闭键盘)
我有以下xml文件:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff">
<LinearLayout
android:id="@+id/register_header"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="100dp"
android:padding="@dimen/activity_vertical_margin">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
... />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
... />
</LinearLayout>
<LinearLayout
android:id="@+id/register_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/register_header"
android:padding="@dimen/activity_vertical_margin"
android:orientation="vertical" >
// Bunch of EditText's here
</LinearLayout>
<LinearLayout
android:id="@+id/register_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center_vertical|bottom"
android:orientation="vertical"
android:padding="@dimen/activity_vertical_margin">
<Button
android:padding="16dp"
android:id="@+id/register_button_register"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/register" />
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:1)
答案 1 :(得分:0)
不使用RelativeLayout作为ScrollView的子项,而是使用像这样的LinearLayout
<ScrollView>
<LinearLayout orientation="vertical">
<LinearLayout orientation="vertical">
<EditTexts />
</LinearLayout>
<Button />
</LinearLayout>
<ScrollView>
当你有一个RelativeLayout和一个具有alignParentBottom = true的子节点时,那个子节点将始终位于屏幕的底部,在adjustResize情况下,它意味着在键盘上方和EditTexts上。