我的Android应用,它使用一个TabActivity显示其内容,有4个标签因而所有使用的状态列表可绘制的图标。它们都具有相同的结构,只是不同的图像:

<?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/icon_options_dark" android:state_selected="true" android:state_focused="false" />
        <item android:drawable="@drawable/icon_options_white" />
</selector>`

然而,在我的HTC Desire(绿色高亮)轨迹球选择标签时,暗图像来代替光之一。一旦标签被实际选择,它变成白色。我在做什么错了?

有帮助吗?

解决方案

您需要有不同的状态不同的项目。在一个项目组合几个国家(像你一样)肯定是不对的。您的XML可能是这样的:

<xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@drawable/icon_options_dark"
        android:state_selected="true" />
  <item android:drawable="@drawable/icon_options_light"
        android:state_focused="true" />
  <item android:drawable="@drawable/icon_options_white" />
</selector>

当涉及到你的图纸绘制它的状态是初审。如果选择的第一个项目将被使用,这就是它 - 没有集中检查将被执行(安卓仅找到的第一 - 不是“最相关的” - 状态)。但是,如果没有选择,对于聚焦状态检查将被执行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top