Android:按钮始终显示

时间:2011-07-11 19:24:18

标签: android xml layout button

我想让一个按钮始终设置在页面底部,但会移动以便始终显示。我想要这个的主要原因是当你点击编辑文本字段时,键盘会弹出并隐藏按钮。我希望按钮移动,使其在字段中位于键盘上方,然后在隐藏键盘时返回到底部。目前我使用的是相对布局:

<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>

2 个答案:

答案 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)选项