Почему мой вид Android не остается в нижней части, когда выбран EditText? - PullRequest
0 голосов
/ 29 декабря 2011

У меня есть макет, где у меня есть панель кнопок, где:

layout_alignParentBottom="true"

У меня есть RelativeLayout поверх того, что содержит EditText и ImageButton.

Когда я выбираю EditText для его редактирования, com.test.OkCancelBar поднимается прямо под текстом редактирования и в некоторых случаях уменьшает высоту EditText. EditText позиционируется динамически, поэтому я не уверен, влияет ли это на что-либо

Как я могу помешать com.test.OkCancelBar сделать это, другими словами, заставить его всегда оставаться внизу моего приложения?

OkCancelBar.java:

public OkCancelBar(Context context, AttributeSet attrs) 
{
    super(context, attrs);
    setOrientation(HORIZONTAL);
    setGravity(Gravity.CENTER);
    setWeightSum(1.0f);
}

mylayout.xml:

<com.test.OkCancelBar
    android:id="@+id/footerbar_lists"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true"
    android:paddingTop="0dip"
    android:background="@drawable/footer_bkgrnd"/>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:visibility="invisible"
    android:id="@+id/relative_layout_list_item_edit">

    <EditText
        android:id="@+id/id_list_edit_text"
        android:layout_width="50dip"
        android:layout_height="wrap_content"
        android:text=""
        android:textSize="18sp"
        android:editable="true"
        android:layout_marginRight="1dip" />

    <ImageButton
        android:id="@+id/id_btn_save_list"
        android:text="Search"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/id_list_edit_text"
        android:src="@drawable/search">
    </ImageButton>
</RelativeLayout>

Я также попытался установить гравитацию внизу в OkCancelBar.java и явно установить высоту в xml:

public OkCancelBar(Context context, AttributeSet attrs) 
    {
        super(context, attrs);
        setOrientation(HORIZONTAL);
        setGravity(Gravity.BOTTOM);
        setWeightSum(1.0f); 

<com.test.OkCancelBar
            android:id="@+id/footerbar_lists"
            android:layout_width="fill_parent" 
            android:layout_height="55dip" 
            android:layout_alignParentBottom="true"
        android:paddingTop="0dip"
        android:gravity="bottom"
            android:background="@drawable/footer_bkgrnd"/>

1 Ответ

0 голосов
/ 30 декабря 2011

Мне удалось это исправить, установив windowSoftInputMode для моей активности в AndroidManifest.xml:

<activity android:name="List" android:windowSoftInputMode="adjustPan"></activity>
...