Android: кнопка всегда отображается - PullRequest
1 голос
/ 11 июля 2011

Я хотел, чтобы кнопка всегда была установлена ​​внизу страницы, но она будет двигаться, поэтому она всегда отображается. Основная причина, по которой я этого хочу, заключается в том, что когда вы щелкаете по текстовому полю для редактирования, появляется клавиатура и скрывается кнопка. Я бы хотел, чтобы кнопка двигалась так, чтобы она находилась над клавиатурой, когда она находится в поле, и затем возвращалась к нижней части, когда клавиатура скрыта. В настоящее время я использую относительный макет:

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

2 голосов
/ 11 июля 2011

В своем манифесте Android вы добавите это к своей деятельности:

<activity android:name=".YourActivity"
        android:windowSoftInputMode="adjustResize"

Вот официальная документация: http://developer.android.com/resources/articles/on-screen-inputs.html

Возможно, попробуйте alignParentBottom="true" на кнопке, чтобывсегда будьте внизу, вам придется возиться со своим макетом.

0 голосов
/ 19 апреля 2014

(1) Если мы хотим настроить только экран без вида, который имеет (alignParentBottom = "true") в относительной компоновке, то установите строку ниже в теге активности в manifest.xml

android: windowSoftInputMode = "AdjustPan"

(2) Если мы хотим отрегулировать всю относительную компоновку с представлением, имеющим (alignParentBottom = "true") в относительной компоновке, то установите строку ниже в теге активности в manifest.xml

android: windowSoftInputMode = "AdjustResize"

(3) Если мы не хотим корректировать весь относительный макет без представления, которое имеет (alignParentBottom = "true") в относительном макете, тогда установите ниже строку в теге активности в manifest.xml

Android: windowSoftInputMode = "adjustPan | adjustResize"

(4) Если мы удалим строку android: windowSoftInputMode из manifest.xml, она будет вести себя как (2) опция

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...