我试图在“设置”屏幕中设置PreferenceCategory元素的样式。使用下面的代码,我可以更改文本颜色,但是我丢失了深灰色分隔线。我查看了Widget.TextView.ListSeparator的源代码,发现它使用了drawable作为背景。如果我尝试应用相同的drawable,我会收到错误说"找不到与给定名称匹配的资源... @ drawable / dark_header_dither"
如何使用分隔线?
<style name="Widget.TextView.ListSeparator" parent="@android:style/Widget.TextView">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">14sp</item>
<item name="android:gravity">center_vertical</item>
</style>
<style name="PreferenceListHeader" parent="Widget.TextView.ListSeparator">
<item name="android:background">@drawable/dark_header_dither</item> <!--Problem! -->
<item name="android:textColor">#0288d1</item>
答案 0 :(得分:1)
此错误是由于您在drawable资源文件夹中没有dark_header_dither文件的原因。 &#34; @可绘制/文件&#34;在资源中的drawable文件夹中搜索文件,但它无法在那里找到它。您可以在drawable文件夹中添加自己的抖动图像,并通过&#34; @ drawable / your_dithered_image_name&#34;
引用它希望这会有所帮助......
修改:
我不知道为什么我无法引用此文件,但解决方法是添加与dark_header_dither.xml文件相同内容的xml文件。
在跟踪这个可绘制文件后,我得到了它的内容:
<nine-patch xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@android:drawable/dark_header"
android:dither="true"
/>
在drawable资源文件夹中使用名称&#34; dark_header_dither.xml&#34;创建一个文件。并添加以上内容。
现在,您可以毫无困难地参考它....