我正在为 android 开发一个自定义键盘。当按下的笑脸应该弹出时,我正在尝试创建一个按钮。据我了解,android:popupCharacters 负责在键盘上显示弹出窗口以及 android:popupKeyboard。我的问题是,例如,如果我输入 android:popupCharacters=":) :(" 我会在一个按钮上单独显示一个包含每个字符的弹出窗口。它是如何完成的?
提前致谢
仔细阅读文档: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 或图像,但这只是我的意见。
为 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 布局。
如果我正确理解了您的查询并且您想要实现类似于Watsapp-smiley-button 的东西,那么您可以在按钮中使用PopupWindowonClick
并向其添加不同的笑脸。