我想让我的应用程序尽可能接近设备的原始主题。因此,我将这种布局用于分隔符:
这是一个单独的布局文件。无论如何都没有以编程方式使用相同的资源吗?
我试过:
TextView tvSeparator = new TextView(context);
tvSeparator.setBackgroundResource(android.R.drawable.list_selector_background);
但我不知道填充、字体大小、字体样式等:/
我想让我的应用程序尽可能接近设备的原始主题。因此,我将这种布局用于分隔符:
这是一个单独的布局文件。无论如何都没有以编程方式使用相同的资源吗?
我试过:
TextView tvSeparator = new TextView(context);
tvSeparator.setBackgroundResource(android.R.drawable.list_selector_background);
但我不知道填充、字体大小、字体样式等:/
您必须使用
context.getResources().getDrawable(R.id.xxx);
(可能会有所不同,只是从我的脑海中记住..)
由于您使用的资源是 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
我只是通过膨胀 android.R.layout.preference_category 来解决它,因为那是一个文本字段