我在我的应用程序的一个布局中使用了这个键盘
<android.inputmethodservice.KeyboardView
android:id="@+id/keyboard_view"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_centerHorizontal="true"
android:focusable="true"
android:clickable="true"
android:background="@color/lightBlue"
android:shadowColor="@android:color/transparent"
android:keyBackground="@drawable/list_item_selector"
android:keyTextColor="@color/drawer_text_color_selector"
android:focusableInTouchMode="true"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent" />
除了键内文字的颜色选择外,一切正常。当我按下它我想要它改变颜色。 如果是背景,它会正确更改,但文本保持相同的颜色
这是我用于文本颜色的xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:color="@color/bodyTextSelectedColor"/>
<item android:state_focused="true" android:state_pressed="true" android:color="@color/bodyTextSelectedColor"/>
<item android:state_focused="false" android:state_pressed="true" android:color="@color/bodyTextSelectedColor"/>
<item android:state_checked="true" android:color="@color/bodyTextSelectedColor"/>
<item android:color="@color/bodyTextColor"/>
</selector>
其中bodyTextSelectedColor
为白色,bodyTextColor
为黑色
我应该在我的KeyboardView或我的选择器中更改某些内容吗?
答案 0 :(得分:2)
KeyBoardView不支持textColor的选择器,至少不正式支持。
在documentation for KeyboardView中,android:keyBackground提到了选择器,而keyTextcolor的条目只是指出:
用于键中标签的颜色。
可以是颜色值,形式为“ #rgb”,“#argb”,“#rrggbb”或 “ #aarrggbb”。
更多证据表明您的语法似乎正确,并将其应用于keyBackground会按预期更改背景。