我希望我的应用尽可能接近设备原始主题。因此我将这种布局用于我的分隔符:
这是在一个单独的布局文件中进行的。无论如何不能以编程方式使用相同的资源吗?
我试过了:
TextView tvSeparator = new TextView(context);
tvSeparator.setBackgroundResource(android.R.drawable.list_selector_background);
但我不知道填充,字体大小,字体样式等:/
答案 0 :(得分:0)
您必须使用
context.getResources()getDrawable(R.id.xxx);
(可能会有所不同,只记得我的脑袋......)
答案 1 :(得分:0)
由于你使用的资源是android.R资源,你可以做的是:
list_selector_background.xml文件将存在于你的android SDK中(你曾经下载过它)。查找它,将此文件的内容复制到资源文件夹中名为my_list_selector_background.xml的新文件中(其中存在所有其他布局文件)
更改您想要更改的内容 - 填充,字体大小,任何内容。
现在从您的R而不是Android.R ..
访问此资源所以代码现在看起来像:
TextView tvSeparator = new TextView(context);
tvSeparator.setBackgroundResource(R.drawable.my_list_selector_background);
但请注意,您无法更改原始list_selector_background.xml
答案 2 :(得分:0)
我通过膨胀android.R.layout.preference_category来解决它,因为那是一个文本域