android - 按键图标不起作用

标签 android android-softkeyboard

我正在为我的软键盘使用以下代码(这是其中的一部分)。

<Row android:rowEdgeFlags="bottom" >
    <Key
        android:codes="83"
        android:keyLabel="CLR" />
    <Key
        android:codes="39"
        android:keyLabel="0" />
    <Key
        android:codes="42"
        style="@style/deleteKeyboard"
        android:keyIcon="@drawable/button_delete"
        android:isRepeatable="true"
        android:keyLabel="DEL" />
</Row>

由于某种原因,stylekeyIcon 无法工作。无论如何,我不能只将键盘上的一个按钮设置为不同的布局。我究竟做错了什么?我只尝试了 style 和 keyIcon,但到目前为止还没有任何组合有效。

<style name="deleteKeyboard">
    <item name="android:keyTextColor">#EEEEEE</item>
    <item name="android:keyBackground">@drawable/button_delete</item>
    <item name="android:keyTextSize">15sp</item>
</style>

最佳答案

事实证明,keyIcon 不能与 android:keyLabel 结合使用。这是我解决这个问题的唯一方法。

<Row android:rowEdgeFlags="bottom" >
        <Key
            android:keyIcon="@drawable/clear_numeric"
            android:codes="83"/>
        <Key
            android:codes="39"
            android:keyLabel="0" />
        <Key
            android:codes="42"
            android:keyIcon="@drawable/delete_numeric" 
            android:isRepeatable="true"/>
    </Row>

delete_numeric 和clear_numeric 只是透明的PNG(见下文),上面有CLR 和DEL。要更改那些我必须使用 android:background="@drawable/numeric_background" 的背景里面<android.inputmethodservice.KeyboardView /> 。这是一个带有背景和这些按钮下方的彩色补丁的 PNG(您还需要使按钮背景半透明!)。图像的大小并不重要,因为它会拉伸(stretch)。

  • numeric_background.png

numeric_background.PNG

  • clear_numeric.png 和delete_numeric.png

clear_numeric delete_numeric

关于android - 按键图标不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16895396/

相关文章:

android - 如何使用地点 ID(最新)获取地点?

android - 为 iOS(和 Android)打开 GL 3D 库?

android - 如何防止三星 Galaxy S3 上的软键盘默认出现白色背景

android - 为什么在每次重复按键后调用 android KeyboardView.OnKeyboardActionListener.onRelease()?

android - 如何禁用自定义键盘全屏?

android - TextView 是 onfocus 窃取了 onclick 事件吗?

Android 生成没有 XML 或 R.array 的 Spinner 列表

android - Firebase Phone Auth 不会用我的代码向我发送短信

android - Android 中的软键盘样式

android - 如何在android中隐藏软键盘