私のアプリケーションでは、デバイスのソフト キーボードが EditTextViews を覆っているため、ユーザーは自分が何を入力しているかを見ることができません。
したがって、他のビュー (私の場合はボタンなど) を非表示にして、EditTextViews を表示したいと考えています。
しかし、代わりに次のようなことをする
EditText.onFocus(){
//hide button
}
EditTextごとに、次のようなことをしたい
if(soft-keyboard.isOpenned())
//hide button
}
ソフトキーボードが開いているか閉じているかを追跡する方法は?
編集:
実際に私のレイアウトはこれです:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@android:color/transparent"
android:focusable="true"
android:focusableInTouchMode="true" >
</LinearLayout>
<ImageView
android:id="@+id/Logo"
android:layout_width="45dp"
android:layout_height="45dp"
android:src="@drawable/wic_logo_small" />
<Button
android:id="@+id/goButton_iWant"
android:layout_width="35dp"
android:layout_height="45dp"
android:layout_alignParentRight="true"
android:background="@color/black"
android:gravity="center_vertical|center_horizontal"
android:text="@string/go" />
<AutoCompleteTextView
android:id="@+id/searchAutoCompleteTextView_iWant"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/goButton_iWant"
android:layout_toRightOf="@id/Logo"
android:hint="@string/search"
android:textColor="@color/white" />
<TextView
android:id="@+id/iWantLabel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/iWantPageLogo"
android:background="@color/grey"
android:gravity="center_vertical|center_horizontal"
android:text="@string/iWant"
android:textColor="@color/white" />
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollViewiWant"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/iWantLabel"
android:scrollbars="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/iNeedToBuy"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/iWantLabel"
android:gravity="center_vertical|center_horizontal"
android:padding="5dp"
android:text="@string/iNeedToBuy"
android:textColor="@color/white"
android:textSize="20dp" />
<AutoCompleteTextView
android:id="@+id/iNeedToBuyEditText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/iNeedToBuy"
android:hint="@string/product"
android:imeOptions="actionNext"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="15dp" />
<TextView
android:id="@+id/error1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/iNeedToBuyEditText"
android:height="0dp"
android:text=""
android:textColor="@color/error_color"
android:textSize="12dp" />
<TextView
android:id="@+id/priceWillingToPay"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/error1"
android:gravity="center_vertical|center_horizontal"
android:text="@string/priceWillingToPay"
android:textColor="@color/white"
android:textSize="20dp" />
<EditText
android:id="@+id/priceWillingToPayEditText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/priceWillingToPay"
android:hint="@string/price"
android:inputType="number"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="15dp" />
<TextView
android:id="@+id/error2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/priceWillingToPayEditText"
android:height="0dp"
android:text=""
android:textColor="@color/error_color"
android:textSize="12dp" />
<TextView
android:id="@+id/needToBuyItBy"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/error2"
android:gravity="center_vertical|center_horizontal"
android:text="@string/needToBuyItBy"
android:textColor="@color/white"
android:textSize="20dp" />
<EditText
android:id="@+id/date_iWant"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/needToBuyItBy"
android:clickable="true"
android:cursorVisible="false"
android:focusable="false"
android:hint="@string/date"
android:inputType="none"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="15dp" />
<TextView
android:id="@+id/error3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/date_iWant"
android:height="0dp"
android:text=""
android:textColor="@color/error_color"
android:textSize="12dp" />
<DatePicker
android:id="@+id/datePicker_iWant"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_below="@id/error3"
android:hint="@string/date"
android:padding="5dp"
android:textColor="@color/black"
android:textSize="15dp" />
<TextView
android:id="@+id/iAmIn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/date_iWant"
android:gravity="center_vertical|center_horizontal"
android:text="@string/iAmIn"
android:textColor="@color/white"
android:textSize="20dp" />
<Spinner
android:id="@+id/city_spinner_iWant"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/iAmIn"
android:prompt="@string/citySpinner"
android:textColor="@color/white"
android:textSize="20dp" />
<Button
android:id="@+id/submitButton_iWant"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/city_spinner_iWant"
android:gravity="center_vertical|center_horizontal"
android:text="@string/submit"
android:textColor="@color/white"
android:textSize="20dp" />
<TextView
android:id="@+id/emptySpace"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_below="@id/submitButton_iWant"
android:gravity="left" />
</RelativeLayout>
</ScrollView>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/buttons_iWant"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<Button
android:id="@+id/feedButton_iWant"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_margin="0dp"
android:layout_weight="1"
android:background="@color/white"
android:text="@string/feed"
android:textColor="@color/black" />
<Button
android:id="@+id/iWantButton_iWant"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_margin="0dp"
android:layout_weight="1"
android:background="@color/white"
android:text="@string/iwant"
android:textColor="@color/black" />
<Button
android:id="@+id/shareButton_iWant"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_margin="0dp"
android:layout_weight="1"
android:background="@color/white"
android:text="@string/share"
android:textColor="@color/black" />
<Button
android:id="@+id/profileButton_iWant"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_margin="0dp"
android:layout_weight="1"
android:background="@color/white"
android:text="@string/profile"
android:textColor="@color/black" />
</LinearLayout>
</RelativeLayout>
問題は、テキストを入力しているときに発生しEditTextViews
ますScrollView