我正在尝试将列表项目所选的样式应用于视图(在我的情况下为TextView)
这里是橙色的风格。我发现这个外观是由Drawable Object定义的。所以我尝试了,所以得到drawable并将它应用到我的视图
TextView tv = new TextView(this);
tv.setText("Hello, Android");
tv.setBackgroundDrawable(new ListView(this).getSelector());
setContentView(tv);
但它不起作用。 有人知道怎么做吗?
好的,我想出了如何做到这一点。我发现帽子ListView使用了在android.R.drawable中定义的ColorStateList list_selector_background。使用ResourceBrowser我知道第四种颜色是选定的drawable,所以我将以下内容添加到我的代码中
StateListDrawable listDrawables= (StateListDrawable)getResources().getDrawable(android.R.drawable.list_selector_background);
listDrawables.selectDrawable(3);
Drawable highlightDrawable = listDrawables.getCurrent();
现在我可以使用higlightDrawable设置我的背景。我不知道是否有可能访问xml中的drawable我还没有尝试过。谢谢你的帮助!