是否可以通过编程方式使用StateListDrawable
以XML格式创建的选择器充气?
我发现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);
有人知道是否有可能并提供一个例子吗?
提前致谢。
答案 0 :(得分:0)
当然有可能。您将找到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>