4

我目前正在研究android中的软键盘实现。我感到困惑的一件事是当您按下任意键时在哪里实现弹出小方块(我在下面附上两个示例)。

我已通读 SDK 中提供的示例应用程序“软键盘”,它具有此功能,但我找不到哪段代码实现了它。

有什么想法可以实现/修改它吗?

示例应用程序“软键盘”

示例键盘

安卓默认键盘

安卓默认键盘

4

2 回答 2

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 的类并实现您自己的代码以进行预览。

于 2016-02-03T16:11:38.440 回答
0

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

于 2012-12-20T01:58:47.150 回答