Mam układ, który używa EditText, aby umożliwić użytkownikom przeszukiwanie bazy danych i zapełnianie listy. EditText jest około 2/3 drogi od góry ekranu (umieszczony nad ImageView i poprzedzony jakimś tekstem intro).Ukrywanie SoftKeyboard EditText
Problem polega na tym, że miękka klawiatura ukrywa EditText, dzięki czemu użytkownik może " t zobaczyć, co pisze. (Wyłączyłem autodopasowanie.)
Próbowałem LinearLayout, RelativeLayout, paddings i różnych linii trasowania/centrowania, ale nadal nie mogę go uruchomić poprawnie. EditText jest albo ukryty, zostaje zepchnięty z górnej części ekranu, albo zostaje "zgnieciony" i zniekształcony.
Sugestie ???
Jednym z możliwych obejść jest przeniesienie EditText na górę ekranu. To jednak odbiega od projektu graficznego, który otrzymałem.
Innym możliwym obejściem jest dla mnie, aby klawiatura była otwarta na pełnym ekranie (ale nie wiem jak). To nadal będzie ukrywać EditText, ale mogę ponownie włączyć automatyczne sugestie, aby użytkownik mógł zobaczyć, co pisze ... coś w rodzaju ... ponieważ widzi tylko sugestie dla tego, co pisze.
Oto moja ostatnia próba. Zobacz "introFrame".
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout android:id="@+id/titleContainer"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:text="@string/title_string"
android:textSize="15sp" android:textColor="#FFFFFF"
android:textStyle="bold" android:paddingLeft="5dp"
android:layout_height="fill_parent" android:layout_width="wrap_content" />
</LinearLayout>
<FrameLayout
android:id="@+id/introFrame"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal" >
<ImageView
android:src="@drawable/main_search_image"
android:scaleType="center"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingTop="140dp" >
<LinearLayout android:id="@+id/introSearchContainer"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" >
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<EditText android:id="@+id/intro_search_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint=" Enter keyword "
android:imeOptions="actionGo"
android:inputType="textFilter"
android:maxLines="1" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button android:id="@+id/intro_search_button"
android:background="@drawable/custom_button_go"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
<TextView
android:text="@string/search_intro"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
</LinearLayout>
</FrameLayout>
<LinearLayout android:id="@+id/listContainer"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:id="@+id/itemlist" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:cacheColorHint="#00000000" />
<TextView android:text="No data found" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:gravity="center"
android:textSize="16sp" android:textColor="#FFFFFF" android:id="@+id/android:empty" />
</LinearLayout>
</LinearLayout>
Oto jak rozwiązał mój problem http://stackoverflow.com/a/29408773/3595514 – Rajendra