Селектор XML накачки Android для использования в StateListDrawable
Можно ли накачать созданный в 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);
Кто-нибудь знает, если это возможно, и привести пример?
Заранее спасибо.
0 ответов
Конечно, это возможно. Вы найдете больше информации о каждом другом доступном чертеже в документации по списку состояний. Я надеюсь, что этот ответ пригодится любому даже шесть лет спустя.
<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>