Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 更改首选项类别标签颜色背景大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_772_1@
我想改变偏好类别bakcgorund的颜色.在我的带有首选项的xml中,我有以这种方式键入的类别:

<PreferenceCategory android@R_61_6964@="Synchronization"> ... </PreferenceCategory>

我正在尝试使用Xml属性更改背景:

android:widgetLayout="@style/PreferenceCategory"

我的styles.xml中的代码如下所示:

<resources>
<style name="PreferenceCategory">
    <item name="android:BACkground">@color/my_blue</item>
</style>
</resources>

但它不能正常工作.我有致命的例外:

08-13 01:43:09.111: WARN/dalvikvm(1329): threadid=1: thread exiTing with uncaught exception (group=0x40015560)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329): FATAL EXCEPTION: main
08-13 01:43:09.141: ERROR/AndroidRuntime(1329): android.content.res.resources$NotFoundException: resource ID #0x7f090006
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.content.res.resources.getValue(resources.java:892)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.content.res.resources.loadXmlresourceParser(resources.java:1869)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.content.res.resources.getLayout(resources.java:731)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.view.LayoutInflater.inflate(LayoutInflater.java:318)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.preference.Preference.onCreateView(Preference.java:416)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.preference.Preference.getView(Preference.java:389)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.preference.PreferenceGroupAdapter.getView(PreferenceGroupAdapter.java:221)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.widget.AbsListView.obtainView(AbsListView.java:1418)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.widget.ListView.makeAndAddView(ListView.java:1745)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.widget.ListView.fillDown(ListView.java:670)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.widget.ListView.fillFromTop(ListView.java:727)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.widget.ListView.layoutChildren(ListView.java:1598)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.widget.AbsListView.onLayout(AbsListView.java:1248)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.view.View.layout(View.java:7175)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.view.View.layout(View.java:7175)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.view.View.layout(View.java:7175)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.view.View.layout(View.java:7175)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.view.ViewRoot.performTraversals(ViewRoot.java:1140)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.view.ViewRoot.handlemessage(ViewRoot.java:1859)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.os.Handler.dispatchmessage(Handler.java:99)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.os.Looper.loop(Looper.java:123)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at android.app.ActivityThread.main(ActivityThread.java:3647)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at java.lang.reflect.Method.invokeNative(Native Method)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at java.lang.reflect.Method.invoke(Method.java:507)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-13 01:43:09.141: ERROR/AndroidRuntime(1329):     at dalvik.system.NativeStart.main(Native Method)

当我将颜色形式@ color / my_blue更改为某些十六进制代码时,我有同样的致命异常.

我知道我可以在AndroidManifest中使用我的首选项活动这个xml属性

android:theme="@style/PreferencesTheme"

但它会改变我所有偏好活动的背景颜色.我可以通过哪种方式更改首选项部分的属性

解决方法

我认为问题在于,当您期望包含视图的样式/主题/布局替换首选项中的当前视图时,您尝试传递仅具有指定背景颜色的样式/主题.

android:widgetLayout文档中的示例说

另一种选择是通过覆盖PreferenceCategory的onBindView()来尝试在代码中执行此操作.

是的,更改AndroidManfiest.xml中的主题应根据您指定的位置更改整个Application或Activity的背景颜色(在本例中).

大佬总结

以上是大佬教程为你收集整理的android – 更改首选项类别标签颜色背景全部内容,希望文章能够帮你解决android – 更改首选项类别标签颜色背景所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。