我正在为设备创建自己的 IME。我需要添加的是键盘视图上方的文本框,如下图所示。虽然我可以如下图所示显示它,但我无法在其中写入文本。
我正在扩展键盘视图,下面是布局结构
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/wrapper"
android:layout_height="wrap_content" android:orientation="vertical"
android:layout_width="fill_parent" android:background="@color/background" >
<TextView android:textAppearance="?android:attr/textAppearanceMedium" android:layout_height="wrap_content" android:id="@+id/txtTest" android:layout_width="fill_parent" android:text="Test" ></TextView>
<EditText android:inputType="text" android:id="@+id/edtTest" android:layout_height="wrap_content" android:layout_width="fill_parent"></EditText>
<com.keyboard.CustomKeyboardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keyboard"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:keyTextSize="15sp"
/>
</LinearLayout>
公共类 CustomKeyboardView 扩展 KeyboardView {
static final int KEYCODE_OPTIONS = -100;
private TextView mResultText;
public CustomKeyboardView (Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomKeyboardView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected boolean onLongPress(Key key) {
if (key.codes[0] == Keyboard.KEYCODE_CANCEL) {
getOnKeyboardActionListener().onKey(KEYCODE_OPTIONS, null);
return true;
} else {
return super.onLongPress(key);
}
}
谢谢, 无