Я пытаюсь применить стиль, который имеет элемент списка, когда он выбран, к представлению (в моем случае TextView)
* ** 1003 тысяча два * Пример
здесь это будет стиль, окрашенный в оранжевый цвет. Я обнаружил, что этот вид определяется Drawable Object. Итак, я попытался, так что возьмите drawable и примените его к моему мнению
TextView tv = new TextView(this);
tv.setText("Hello, Android");
tv.setBackgroundDrawable(new ListView(this).getSelector());
setContentView(tv);
но это не работает.
У кого-нибудь есть идеи, как это сделать?
Хорошо, я понял, как это сделать. Я узнал, что ListView использует ColorStateList list_selector_background, который определен в android.R.drawable. Используя ResourceBrowser, я узнал, что четвертый цвет выбран для рисования, поэтому я добавил следующее в свой код
StateListDrawable listDrawables= (StateListDrawable)getResources().getDrawable(android.R.drawable.list_selector_background);
listDrawables.selectDrawable(3);
Drawable highlightDrawable = listDrawables.getCurrent();
Теперь я могу установить свой фон с помощью higlightDrawable. Я не знаю, возможно ли получить доступ к Drawable в XML, я еще не пробовал. Спасибо за помощь!