安卓软键盘中的弹出式布局?

4
我目前正在学习Android中软键盘的实现。有一件事让我感到困惑,即在按下任何键时弹出小正方形的位置应该在哪里实现(我在下面附上了两个示例)。
我已经阅读了SDK提供的示例应用程序“Soft Keyboard”,它具有此功能,但是我找不到哪一部分代码实现了它。
有什么想法可以帮助我实现/修改它吗? 示例应用程序“软键盘” 示例键盘 安卓默认键盘 安卓默认键盘

我刚刚发现了一个 Stack Overflow 的帖子,应该是我需要的这里这里。有人可以关闭我的问题吗?谢谢! - Yulong
关闭一个问题。只需勾选一个答案。如果您觉得有必要,可以为未来的访问者编写自己的答案。 - cjds
相关:隐藏安卓键盘按键预览 - Whymarrh
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>

在键盘视图的 XML 上调用预览:

android:keyPreviewLayout="@layout/preview"

或者您可以创建一个继承KeyboardView的类,并实现自己的预览代码。

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 中。
现在调用的是 KeyboardView 中的 super.onLongPress(key)
要自定义操作,请使用相应的代码重写 else。
您可以在此处找到参考 here

是的,我尝试添加我的条件。但默认布局没有代码,对吧?比如说,我怎么修改弹出窗口的大小或者显示的内容呢? - Yulong
嗨,我刚刚在评论中添加了一些与我的问题相关的帖子。但还是谢谢你的帮助,非常感激。 - Yulong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接