以编程方式使用Android定义的样式?

时间:2011-10-22 11:23:55

标签: android android-styles

我希望我的应用尽可能接近设备原始主题。因此我将这种布局用于我的分隔符:

这是在一个单独的布局文件中进行的。无论如何不能以编程方式使用相同的资源吗?

我试过了:

TextView tvSeparator = new TextView(context);   
tvSeparator.setBackgroundResource(android.R.drawable.list_selector_background);

但我不知道填充,字体大小,字体样式等:/

3 个答案:

答案 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来解决它,因为那是一个文本域