如何在自定义键盘上设置属性颜色?

时间:2017-10-30 11:41:08

标签: android android-layout android-xml android-custom-keyboard

我试图让我的自定义键盘根据项目中的当前主题更改颜色,但它失败了,这是我的代码:

<?xml version="1.0" encoding="UTF-8"?>
    <android.inputmethodservice.KeyboardView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/keyboard"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:keyBackground = "@drawable/keybackground"
        android:keyTextColor="?attr/colorPrimary"
        android:background="?attr/android:colorBackground"
        android:keyTextSize="22sp"/>

当我放常规颜色时,一切正常!我该如何灵活处理?

1 个答案:

答案 0 :(得分:0)

我不确定这是你在找什么,但你可以尝试使用res-auto命名空间:

<android.inputmethodservice.KeyboardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:custom="http://schemas.android.com/apk/res-auto"
    android:id="@+id/keyboard"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    custom:keyBackground = "@drawable/keybackground"
    custom:keyTextColor="?attr/colorPrimary"
    android:background="?attr/android:colorBackground"
    custom:keyTextSize="22sp"/>

如果您正在寻找在应用程序运行时动态更改它,我认为链接的答案是要走的路。应该动态改变的事情最好用代码完成,而静态设计最好用xml完成​​。