Tôi có bố cục sử dụng EditText để cho phép người dùng tìm kiếm cơ sở dữ liệu và điền một ListView. EditText là khoảng 2/3 đường từ trên cùng của màn hình (được đặt trên một ImageView, và theo sau là một số văn bản giới thiệu.)SoftKeyboard ẩn EditText
Vấn đề là bàn phím mềm ẩn EditText, vì vậy người dùng có thể ' t xem những gì anh ấy đang gõ. (Tôi đã tắt đề xuất tự động.)
Tôi đã thử LinearLayout, RelativeLayout, paddings và các căn chỉnh/trung tâm khác nhau, nhưng tôi vẫn không thể làm cho nó hoạt động đúng. EditText bị ẩn, bị đẩy ra khỏi đầu màn hình, hoặc bị "đánh bóng" và bị méo.
Đề xuất ???
Một cách giải quyết khác là di chuyển EditText lên đầu màn hình. Tuy nhiên, điều này lệch khỏi thiết kế đồ họa mà tôi đã được đưa ra.
Một cách giải quyết khác có thể là để tôi làm cho bàn phím mềm mở ở chế độ toàn màn hình (không chắc chắn như thế nào, mặc dù). Điều này sẽ vẫn ẩn EditText, nhưng sau đó tôi có thể bật lại đề xuất tự động để người dùng có thể xem những gì anh ấy đang nhập ... sắp xếp ... vì anh ấy chỉ có thể xem các đề xuất cho nội dung anh ấy đang nhập.
Đây là nỗ lực mới nhất của tôi. Xem "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>
Đây là cách giải quyết sự cố của tôi http://stackoverflow.com/a/29408773/3595514 – Rajendra