android - 如何在键盘上的xml中为功能键设置不同的背景?

标签 android xml function keyboard key

我正在为 Android 开发一个键盘应用程序。我尝试为普通键和功能键设置不同的背景,但没有用:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Functional keys. -->

    <item android:state_single="true" android:state_pressed="true"
          android:drawable="@drawable/btn_keyboard_special" />
    <item android:state_single="true"
          android:drawable="@drawable/btn_keyboard_special" />

    <!-- Toggle keys. Use checkable/checked state.   -->

    <item android:state_checkable="true" android:state_checked="true" android:state_pressed="true"
          android:drawable="@drawable/btn_keyboard_key_dark_pressed_on" />
    <item android:state_checkable="true" android:state_pressed="true"
          android:drawable="@drawable/btn_keyboard_key_dark_pressed_off" />
    <item android:state_checkable="true" android:state_checked="true"
          android:drawable="@drawable/btn_keyboard_key_dark_normal_on" />
    <item android:state_checkable="true"
          android:drawable="@drawable/btn_keyboard_key_dark_normal_off" /> 

    <!-- Normal keys -->

    <item android:state_pressed="true"
          android:drawable="@drawable/glow" />
    <item android:drawable="@drawable/btn_keyboard_key_light_normal" />
</selector>

最佳答案

有一个名为 android:keyBackground 的 XML 属性。只需将此属性设置为可绘制对象即可。

将此属性添加到 input.xml 中的 KeyboardView:

<KeyboardView android:keyBackground="@drawable/buttonbgselector" .../>

我假设这就是您用来为所有按键分配背景颜色的方法。

仅针对功能键,创建一个适当的前景可绘制图像以覆盖整个键并将其分配给键盘布局 xml 的 xml 中的 keyIcon

为了完美,也使用覆盖相同尺寸的背景图像,以防您不想更改 keyIcon

关于android - 如何在键盘上的xml中为功能键设置不同的背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11541993/

相关文章:

jquery - 使用 jquery contains 内部函数?

android - 如何在android中下载?

android - 如何将 AsyncTask 与 Activity 分开?

android - 在不重新创建 Activity 的情况下在替代布局之间切换

php - 什么是 stripslashes?

angular - matTooltip 和 [matTooltip] 有什么区别?

java - 用于使用目标节点 MAC 地址检查连接性的 ping 命令变体

sql-server - SQL Server - 将表数据转换为 xml

xml - 调试编码问题(R XML)

java - 解码时忽略命名空间 : JAXB