软键盘的自定义键弹出窗口

时间:2013-12-06 10:39:23

标签: popup customization android-softkeyboard

  

我正在使用软键盘。

     

现在,当按下任何键时,我正在处理键弹出。为此,我补充说   在xml文件中,如

<Key android:codes="119" android:keyLabel="w"  android:popupKeyboard="@xml/popupview"
     android:popupCharacters="w"/>

popupview.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/previewbackground"
    android:textColor="@android:color/white"
    android:gravity="center"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="32sp" />

previewbackground.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <stroke android:width="1dp" android:color="#bbFFFFFF" /> 
    <solid android:color="#FF000000"/>
</shape>
  

所以在我的应用程序中添加上面的配置后,弹出看起来   如下所示,

enter image description here

  

我们可以看到弹出窗口显示。但问题是,

     

1)只有当我长按键时弹出才会显示。单击时必须显示。

     

2)弹出窗口显示取消按钮。

     

3)弹出不会自动消失,我必须按取消(交叉)按钮,手动关闭弹出窗口。

     

主要默认键弹出如下图所示,

enter image description here

  

弹出窗口显示成功,但我需要在弹出窗口中进行一些自定义   但我无法找到任何帮助来自定义弹出窗口。

     

这就是为什么我尝试使用这种配置。但问题是它不是   按预期运作良好。

2 个答案:

答案 0 :(得分:1)

您是在谈论包含其他字符的弹出窗口还是关键预览(弹出窗口显示按下的按键的放大版本)?

android:popupKeyboard和android:popupCharacters用于其他字符,例如

<Key android:codes="119" android:keyLabel="w" android:popupKeyboard="@xml/popupview"
     android:popupCharacters="2\@"/>

这将允许您长按“&#39; w&#39;用于访问数字2和@字符等字符的键。反斜杠用于转义特殊字符。

键预览由键盘视图类中的setPreviewEnabled(boolean previewEnabled)设置。它可以是真的也可以是假的,但我不知道你是否可以自定义它。在androidIME源https://github.com/android/platform_frameworks_base/blob/master/core/java/android/inputmethodservice/KeyboardView.java

中查看

答案 1 :(得分:0)

您需要设置密钥图标,即如下所示可绘制

http://localhost/test/remote.php?file=http://kooleedback.com/about.php

如果你需要选择长按弹出,将xml popup_view布局更改为TextView to keyBoard

popupview.xml

 <Key
        android:codes="51"
        android:keyLabel="3"
        android:keyIcon="@drawable/happy_icon"/>