我目前正在研究android中的软键盘实现。我感到困惑的一件事是当你按任意键时,在哪里实现弹出小方块(我在下面附上两个例子)。
我已经阅读了SDK中提供的示例应用程序“Soft Keyboard”,它具有此功能,但我找不到哪一段代码实现了它。
我是如何实现/修改它的?
android默认键盘
答案 0 :(得分:1)
这是您的预览版面。
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并实现自己的代码进行预览的类。
答案 1 :(得分:0)
控制它的部分位于LatinKeyboardView
类
@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);
}
}
您正在查看的部分位于else
。
现在,这会调用驻留在super.onLongPress(key)
。{/ p>中的KeyboardView
使用相应的代码自定义覆盖else。
您会找到参考here