こんにちは、ListView に結果を表示する SearchView を実装しました。私が直面している問題は、カスタム キーボードがあり、Listview が keyboardView に重なっているために、キーボードのキーの一部を押すことができないことです。達成することは、私のリストビューがキーボードビューの下に表示されることです.Hereは私のレイアウトファイルです
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/basic_bg" >
<android.inputmethodservice.KeyboardView
android:id="@+id/keyboardView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:visibility="gone" />
<SearchView
android:id="@+id/searchView"
android:layout_width="400dp"
android:layout_height="40dp"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/textView3"
android:layout_marginLeft="49dp"
android:layout_marginTop="25dp"
android:layout_toRightOf="@+id/imageViewUp"
android:background="@drawable/delete_bg_5line"
android:ems="10"
android:hint="Destination Input Text"
android:textColor="#87CEFA" >
</SearchView>
<ListView
android:id="@+id/main_list_View"
android:layout_width="450dp"
android:layout_height="235dp"
android:layout_alignLeft="@+id/searchView"
android:layout_below="@+id/searchView"
android:listSelector="@android:color/transparent"
android:scrollbars="none" >
</ListView>
</RelativeLayout>
また、ユーザーが ListView とキーボードの可視性を変更するためのコードを参照するときに、カスタム キーボードを非表示にしたい
searchtextView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method st4ub
toggleKeyboardVisibility(searchtextView);
}
private void toggleKeyboardVisibility(
AutoCompleteTextView searchViewWidget) {
KeyboardView keyboardView = (KeyboardView) findViewById(R.id.keyboardView);
int visibility = keyboardView.getVisibility();
switch (visibility) {
case View.VISIBLE:
keyboardView.setVisibility(View.GONE);
break;
case View.GONE:
case View.INVISIBLE:
keyboardView.setVisibility(View.VISIBLE);
searchtextView = searchViewWidget;
break;
}
}
});
もう 1 つやりたいことは、キーボード キーの背景を変更することです。これを行うことができませんでした。各キーに android:keyIcon 属性を追加しようとしましたが、機能せず、これを使用するとプレビューの背景画像のみが変更されました。 attribute.これを行うにはどうすればよいですか。
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:horizontalGap="0px"
android:keyBackground="@drawable/custom_keyboard_press_onekey"
android:keyWidth="10%p"
android:verticalGap="0px" >
<Row>
<Key
android:codes="1"
android:iconPreview="@drawable/custom_keyboard_press_onekey"
android:isRepeatable="true"
android:keyEdgeFlags="left"
android:keyIcon="@drawable/custom_keyboard_press_onekey"
android:keyLabel="1" />
</Row>
</Keyboard>
そして、これがキーボードをインスタンス化する方法です
final KeyboardView keyboardView = (KeyboardView) findViewById(R.id.keyboardView);
Keyboard keyboard = new Keyboard(this, R.layout.keyboard);
keyboardView.setKeyboard(keyboard);
keyboardView.setEnabled(true);
keyboardView.setPreviewEnabled(true);
keyboardView.setOnKeyboardActionListener(this);
誰かが私が間違っている場所を案内してくれるか、どのように進めるべきかを提案してくれませんか.助けてくれてありがとう.