【问题标题】:Android inflate XML selector to be used in StateListDrawable在 StateListDrawable 中使用的 Android 膨胀 XML 选择器
【发布时间】:2013-08-27 19:09:37
【问题描述】:

是否可以通过编程方式扩充以 XML 创建的选择器以供StateListDrawable 使用?

我发现StateListDrawable 有一个inflate 方法,但是我没有找到使用示例。

最好避免这样做:

StateListDrawable states = new StateListDrawable();
states.addState(new int[] {android.R.attr.state_pressed}, getResources().getDrawable(R.drawable.pressed));
states.addState(new int[] {android.R.attr.state_focused}, getResources().getDrawable(R.drawable.focused));
states.addState(new int[] { }, getResources().getDrawable(R.drawable.normal));
imageView.setImageDrawable(states);

有人知道这是否可能并提供一个例子吗?

提前致谢。

【问题讨论】:

    标签: android android-xml android-selector


    【解决方案1】:

    当然可以。您可以通过the documentation for State list 找到有关其他所有可绘制对象的更多信息。我希望这个答案在六年后对任何人都能派上用场。

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/pressed"
              android:state_pressed="true" />
        <item android:drawable="@drawable/focused"
              android:state_focused="true" />
        <item android:drawable="@drawable/normal" />
    </selector>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多