6

我正在为 android 开发一个自定义键盘。当按下的笑脸应该弹出时,我正在尝试创建一个按钮。据我了解,android:popupCharacters 负责在键盘上显示弹出窗口以及 android:popupKeyboard。我的问题是,例如,如果我输入 android:popupCharacters=":) :(" 我会在一个按钮上单独显示一个包含每个字符的弹出窗口。它是如何完成的?

提前致谢

4

4 回答 4

5

仔细阅读文档:http: //developer.android.com/reference/android/inputmethodservice/Keyboard.Key.html#attr_android :popupCharacters

机器人:弹出字符

要在弹出键盘中显示的字符。

[...]

安卓:弹出键盘

任何弹出式键盘的 XML 键盘布局。

所以 popupcharacters 意味着一种更简单的方法来创建 popupkeyboard。但是 Unicode 可以让您免于创建 XML 和使用图像:http ://unicodeemoticons.com/试试看!(很久以前试过一次,在2.2模拟器、中兴Blade和T-Mobile Pulse/Huwaei U8220上都显示不错)。

如果您不想要这种解决方法,另一个解决方案是如果您进入 android SDK 源代码,并尝试重新实现整个弹出式键盘(或过度实现,如果可以的话)以使其可供您使用。但无论如何,如果我是用户,我会更喜欢 unicode 或图像,但这只是我的意见。

于 2013-05-12T02:32:56.090 回答
2

为 xml 目录中的弹出窗口创建单独的 xml 布局,如下所示

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
    android:keyWidth="15%p"
    android:horizontalGap="0px"
    android:verticalGap="0px"
    android:keyHeight="@dimen/key_height"
    >

<Row android:rowEdgeFlags="top">
        <Key android:keyLabel=":-)" android:keyOutputText=":-) "
        <Key android:keyLabel=":-)" android:keyOutputText=":-( "
    </Row>
</Keyboard>

为其他笑脸添加任意数量的行和/或键属性,然后在键盘 xml 中使用它

    <Key android:keyOutputText=":-)" android:keylabel=":-)" android:popupKeyboard="@xml/popup"/>

这将创建一个键“:-)”,如果您按下它一次,它将输出字符:-),并在您长按它时使用弹出 xml 布局。

于 2014-04-16T05:25:50.000 回答
1

如果您正在制作自己的键盘,请查看以下可用的源代码,这将对您有很大帮助。

斯堪的纳维亚键盘

黑客键盘

安卓表情符号键盘

您还想更改键盘的主题,然后检查以下链接。它将让您清楚地了解如何制作预览布局和所有内容。特别是如果您想查看笑脸,那么Android 表情符号键盘将非常有用。它在键盘和预览中使用笑脸符号。

希望这会帮助你。

于 2013-05-15T11:00:29.123 回答
1

如果我正确理解了您的查询并且您想要实现类似于Watsapp-smiley-button 的东西,那么您可以在按钮中使用PopupWindowonClick并向其添加不同的笑脸。

于 2013-05-16T12:27:59.613 回答