我计划在Android TV上发布一款游戏。我已经为游戏开发了主屏幕,其中包含一些按钮。
我需要的是每个按钮状态有不同的drawable图像。我只需要三种状态:
1. 默认 2. 聚焦 3. 按下
为了根据不同的按钮状态显示不同的drawable图像,我创建了以下.xml文件:
buttonquickgame.xml
我已将此xml文件放置在res/drawable文件夹中。我完全按照Google在这里建议的步骤操作:https://developer.android.com/training/tv/start/navigation.html。
然后,我将按钮的背景设置为以前的.xml文件,如下所示:
问题是应用程序加载后,按钮具有默认状态图标,当我按下它时,它正确地显示了按下的可绘制对象,但无论如何都不会显示焦点可绘制对象。
我已经尝试了一切。我甚至以编程方式请求焦点,但焦点可绘制对象仍然不会出现。我在模拟器和我的Sony Android电视上检查了这种行为,但都没有成功。
您有任何想法吗?我在这里漏掉了什么吗?
非常感谢您的帮助!
我需要的是每个按钮状态有不同的drawable图像。我只需要三种状态:
1. 默认 2. 聚焦 3. 按下
为了根据不同的按钮状态显示不同的drawable图像,我创建了以下.xml文件:
buttonquickgame.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/greenbutton_focused" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/greenbutton_focused" /> <!-- focused -->
<item android:drawable="@drawable/greenbutton" /> <!-- default -->
</selector>
我已将此xml文件放置在res/drawable文件夹中。我完全按照Google在这里建议的步骤操作:https://developer.android.com/training/tv/start/navigation.html。
然后,我将按钮的背景设置为以前的.xml文件,如下所示:
<Button
android:id="@+id/start"
android:layout_width="250.0dip"
android:layout_height="60.0dip"
android:layout_marginTop="20dip"
android:background="@drawable/buttonquickgame"
android:onClick="OnClickButton"
/>
问题是应用程序加载后,按钮具有默认状态图标,当我按下它时,它正确地显示了按下的可绘制对象,但无论如何都不会显示焦点可绘制对象。
我已经尝试了一切。我甚至以编程方式请求焦点,但焦点可绘制对象仍然不会出现。我在模拟器和我的Sony Android电视上检查了这种行为,但都没有成功。
您有任何想法吗?我在这里漏掉了什么吗?
非常感谢您的帮助!