我想让一个按钮始终设置在页面底部,但会移动以便始终显示。我想要这个的主要原因是当你点击编辑文本字段时,键盘会弹出并隐藏按钮。我希望按钮移动,使其在字段中位于键盘上方,然后在隐藏键盘时返回到底部。目前我使用的是相对布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical" android:background="#FFFFF0">
<RelativeLayout android:orientation="vertical"
android:id="@+id/titlebar1" android:background="#082386"
android:layout_width="fill_parent" android:layout_height="50dip"
android:gravity="center">
<ImageView android:src="@drawable/banner"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:scaleType="fitXY">
</ImageView>
</RelativeLayout>
<Spinner android:layout_height="wrap_content"
android:layout_below="@+id/titlebar1" android:layout_width="wrap_content"
android:id="@+id/NewUsedSpinner" android:prompt="@string/NewUsed_prompt"
android:layout_marginTop="15dip">
</Spinner>
<Spinner android:layout_height="wrap_content"
android:layout_below="@+id/NewUsedSpinner" android:layout_width="wrap_content"
android:id="@+id/MakeSpinner" android:prompt="@string/Make_prompt">
</Spinner>
<Spinner android:layout_height="wrap_content"
android:layout_below="@+id/MakeSpinner" android:layout_width="wrap_content"
android:id="@+id/ModelSpinner" android:prompt="@string/Model_prompt"></Spinner>
<Spinner android:layout_height="wrap_content"
android:layout_below="@+id/NewUsedSpinner" android:layout_width="wrap_content"
android:id="@+id/TrimSpinner" android:prompt="@string/Trim_prompt"></Spinner>
<Spinner android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/PriceSpinner"
android:layout_below="@+id/TrimSpinner" android:prompt="@string/Price_prompt"
android:layout_marginBottom="5dip"></Spinner>
<TextView android:text="Search within the radius of:"
android:layout_below="@+id/PriceSpinner" android:id="@+id/textView1"
android:layout_width="wrap_content" android:layout_alignLeft="@+id/FilterZip"
android:layout_height="wrap_content" android:textColor="#000"
android:layout_marginTop="5dip"></TextView>
<Spinner android:id="@+id/ZipSpinner" android:layout_width="120dip"
android:layout_below="@+id/textView1" android:layout_height="wrap_content"
android:prompt="@string/Zip_prompt"></Spinner>
<EditText android:layout_width="fill_parent"
android:layout_below="@+id/textView1" android:layout_toRightOf="@+id/ZipSpinner"
android:layout_height="wrap_content" android:text="Zip" android:id="@+id/FilterZip"
android:maxLength="5" android:numeric="integer"></EditText>
<Button android:layout_height="50dip" android:id="@+id/FilterSearchbtn"
android:layout_alignParentBottom="true" android:layout_width="fill_parent"
android:text="Search" android:layout_below="@+id/ZipSpinner"
android:background="@drawable/yellow_btn" android:textStyle="bold"></Button>
</RelativeLayout>
答案 0 :(得分:2)
在您的Android清单中,您可以将其添加到您的活动中:
<activity android:name=".YourActivity"
android:windowSoftInputMode="adjustResize"
以下是官方文档:http://developer.android.com/resources/articles/on-screen-inputs.html
也许在按钮上尝试alignParentBottom="true"
,以便它始终位于底部,您将不得不摆弄您的布局。
答案 1 :(得分:0)
(1)如果我们只想在没有相对布局的(alignParentBottom =“true”)视图的情况下调整屏幕,那么在manifest.xml的activity标签中设置下面的行
android:windowSoftInputMode =“adjustPan”
(2)如果我们想用相对布局中具有(alignParentBottom =“true”)的视图调整整个相对布局,则在manifest.xml中的activity标记中设置下面的行
android:windowSoftInputMode =“adjustResize”
(3)如果我们不想在没有相对布局中具有(alignParentBottom =“true”)的视图的情况下调整整个相对布局,那么在manifest.xml中的activity标记中设置下面的行
机器人:windowSoftInputMode = “adjustPan | adjustResize”
(4)如果我们从manifest.xml中删除行android:windowSoftInputMode,那么它将表现得像(2)选项