适用于Android的软键盘弹出布局?

时间:2012-12-20 01:32:05

标签: android android-layout android-softkeyboard

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

我已经阅读了SDK中提供的示例应用程序“Soft Keyboard”,它具有此功能,但我找不到哪一段代码实现了它。

我是如何实现/修改它的?

Sample app "Soft keyboard"

sample keyboard

android默认键盘

android default keyboard

2 个答案:

答案 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