代码之家  ›  专栏  ›  技术社区  ›  Overv

在可绘制的Android状态列表中,状态焦点被忽略

  •  0
  • Overv  · 技术社区  · 15 年前

    我的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>`
    

    1 回复  |  直到 15 年前
        1
  •  1
  •   rekire    12 年前

    你需要为不同的州准备不同的物品。在一个项目中组合几个状态(如您所做的那样)绝对是错误的。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>
    

    当你要画你的画时,首先要检查它的状态。如果选择了它,将使用第一个项目,仅此而已-将不执行集中检查(Android仅查找 第一 “最相关”