设置 switchStyle - 找不到错误资源 - 为什么?

Set switchStyle - get error resource not found - why?

提问人:KarlKarlsom 提问时间:1/26/2012 最后编辑:KarlKarlsom 更新时间:4/8/2014 访问量:4288

问:

我遇到了一个奇怪的问题: 我正在为应用程序创建样式,并设置:

<item name="android:spinnerStyle">@style/CustomSpinnerAppearance</item>  
<item name="android:textViewStyle">@style/CustomTextViewAppearance</item>
<item name="android:buttonStyle">@style/CustomButton</item>  

现在我想设置:

<item name="android:switchStyle">@style/CustomSwitch</item>

我收到这个错误。

未找到与给定名称匹配的资源:attr 'android:switchStyle'。

我已经检查了 API-Lvl 14 和 15 (ICS) 来源的 attrs.xml并且有:

<attr name="switchStyle" format="reference" />

为什么我无法为开关小部件设置自定义样式,尽管 attr 在 attrs.xml 中?

更重要的是:我需要做什么,才能为 Switch 小部件应用程序设置自定义样式?

Android XML 小部件 样式 Attr

评论

0赞 Jerome VDL 8/23/2012
你找到解决方案了吗?我有同样的问题。我的主题.xml和样式.xml (values-v14) : <style name=“AppTheme” parent=“android:Theme.Holo.Light”> <item name=“android:switchStyle”>@style/SwitchAppTheme</item> </style> <style name=“SwitchAppTheme” parent=“android:Widget.Holo.Light.CompoundButton.Switch”> <item name=“android:track”>@drawable/switch_track_holo_light</item> <item name=“android:thumb”>@drawable/switch_inner_holo_light</item> </style>
2赞 Jerome VDL 8/24/2012
我创建了一个问题 code.google.com/p/android/issues/...

答:

0赞 CChi 1/26/2012 #1

尝试在 @style/CustomSwitch0 中删除“android:”。 我相信只有当你能够在这里找到它时,你才能使用android命名空间 http://developer.android.com/reference/android/R.styleable.html

评论

1赞 CChi 1/26/2012
switchStyle 仅在 android OS 3.0 之后的 Theme.Holo 中定义。确保你来自Theme.Holo,并使用正确的目标版本编译它。
0赞 KarlKarlsom 1/26/2012
目标是 14 (4.0)。在您的评论之后,我虽然尝试了 15 个。没有变化。
0赞 saywhatnow 4/8/2014 #2

根据这个错误,它看起来不可能继承。

但是,作为一种解决方法,您可以通过在 http://android-holo-colors.com/ 处创建适当的 9 个补丁等来覆盖现有样式(如果只是您正在处理的颜色)