我目前正在研究android中的软键盘实现。我感到困惑的一件事是当您按下任意键时在哪里实现弹出小方块(我在下面附上两个示例)。
我已通读 SDK 中提供的示例应用程序“软键盘”,它具有此功能,但我找不到哪段代码实现了它。
有什么想法可以实现/修改它吗?
安卓默认键盘
我目前正在研究android中的软键盘实现。我感到困惑的一件事是当您按下任意键时在哪里实现弹出小方块(我在下面附上两个示例)。
我已通读 SDK 中提供的示例应用程序“软键盘”,它具有此功能,但我找不到哪段代码实现了它。
有什么想法可以实现/修改它吗?
安卓默认键盘
这是您的预览布局。
preview.xml 的代码示例
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ffffff"
android:gravity="center"
android:textColor="@color/black"
android:textSize="30sp"
android:textStyle="bold" >
</TextView>
在keyboardView的xml上调用你的预览:
android:keyPreviewLayout="@layout/preview"
或者您可以创建一个扩展 KeyboardView 的类并实现您自己的代码以进行预览。
The part that controls this resides in LatinKeyboardView
class
@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);
}
}
The part your looking at is in the else
.
Now this calls super.onLongPress(key)
which resides in KeyboardView
.
To customize override the else with respective code.
You'll find the reference here