我正在尝试使用自己的android输入法,但目前我在使用样式/主题方面遇到了麻烦。问题如下:
我在onCreateInputView中膨胀并返回的视图包含一些普通的android按钮。我可以在这些按钮上听onClick事件并且它工作正常,但是当我点击按钮时,它们的外观不会改变,这意味着它们不会像正常的android按钮那样改变背景颜色等。
但是,我可以应用包含选择器的自定义背景xml:
styles.xml:
<style name="CategoryButton">
<item name="android:background">@drawable/button</item>
</style>
button.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_pressed" android:state_pressed="true"></item>
<item android:drawable="@drawable/button_normal"></item>
</selector>
这有效,按钮对用户输入作出反应。但是,按钮不是我计划使用的唯一视图,并且很难复制默认的android外观。所以我试着找另一种方式。认为视图缺少默认主题,我将以下背景应用于它:
<style name="CategoryButton">
<item name="android:background">@android:drawable/btn_default</item>
</style>
但它没有显示任何效果。对于那些感兴趣的人,这里是@android的内容:drawable / btn_default:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
android:drawable="@drawable/btn_default_normal" />
<item android:state_window_focused="false" android:state_enabled="false"
android:drawable="@drawable/btn_default_normal_disable" />
<item android:state_pressed="true"
android:drawable="@drawable/btn_default_pressed" />
<item android:state_focused="true" android:state_enabled="true"
android:drawable="@drawable/btn_default_selected" />
<item android:state_enabled="true"
android:drawable="@drawable/btn_default_normal" />
<item android:state_focused="true"
android:drawable="@drawable/btn_default_normal_disable_focused" />
<item
android:drawable="@drawable/btn_default_normal_disable" />
</selector>
但是,我找不到州提到的抽奖。可能是问题吗? 您是否有关于如何将默认主题应用于该IME中的所有视图的建议?
非常感谢!