J'ai une mise en page qui utilise un EditText pour permettre aux utilisateurs de rechercher une base de données et de remplir un ListView. L'EditText est à environ 2/3 du haut de l'écran (positionné sur un ImageView et suivi d'un texte d'introduction.)SoftKeyboard masquage EditText
Le problème est que le clavier logiciel cache l'EditText, donc l'utilisateur peut ' Je vois ce qu'il tape. (J'ai désactivé l'auto-suggestion.)
J'ai essayé LinearLayout, RelativeLayout, paddings et différents alignements/centrages, mais je n'arrive toujours pas à le faire fonctionner correctement. L'EditText est soit caché, soit poussé du haut de l'écran, soit "écrasé" et déformé.
Suggestions ???
Une solution de contournement possible consiste à déplacer l'EditText vers le haut de l'écran. Cependant, cela dévie de la conception graphique qui m'a été donnée.
Une autre solution de contournement possible est pour moi de rendre le clavier virtuel ouvert en plein écran (pas sûr comment, cependant). Cela masquera toujours l'EditText, mais je peux réactiver l'auto-suggestion afin que l'utilisateur puisse voir ce qu'il tape ... en quelque sorte ... car il ne peut voir que les suggestions pour ce qu'il tape.
Voici ma dernière tentative. Voir "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>
Voici comment cela a résolu mon problème http://stackoverflow.com/a/29408773/3595514 – Rajendra