我无法在项目中更改Switch视图的样式,无法弄清楚我做错了什么或丢失了......我的项目到处都使用holo。
我无法更改文字,拇指或曲目。我已经尝试直接从xml应用android:thumb和android:track drawables但没有任何改变。甚至android:textOff和android:textOn都没有任何效果。
我发现了一篇关于如何自定义android Switch视图样式并查看了所有代码但找不到任何错误的帖子。 http://custom-android-dn.blogspot.co.uk/2013/01/how-to-use-and-custom-switch-in-android.html
真的不确定还有什么可以尝试。
这是xml代码:
<Switch
android:id="@+id/home_availability_switch"
style="@style/MySwitch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:enabled="true"
android:focusable="true"
android:textOff="Free"
android:textOn="Busy" />
这是风格:
<style name="MySwitch" parent="@style/Holo.Switch.Light">
<item name="android:thumb">@drawable/selector_availability_switch_thumb</item>
<item name="android:track">@drawable/selector_availability_switch_background</item>
</style>
这是拇指选择器 (这些是默认的系统drawables。我尝试过不同的drawables):
<item android:drawable="@drawable/switch_thumb_pressed_holo_light" android:state_pressed="true"/>
<item android:drawable="@drawable/switch_thumb_activated_holo_light" android:state_checked="true"/>
<item android:drawable="@drawable/switch_thumb_disabled_holo_light" android:state_enabled="false"/>
<item android:drawable="@drawable/switch_thumb_holo_dark"/>
这是轨道选择器 (这些是默认的系统drawables。我尝试过不同的drawables):
<item android:drawable="@drawable/switch_bg_disabled_holo_dark" android:state_enabled="false"/>
<item android:drawable="@drawable/switch_bg_focused_holo_dark" android:state_focused="true"/>
<item android:drawable="@drawable/switch_bg_holo_dark"/>
我也发现了这篇帖子How can I style an Android Switch?并按照说明操作,但没有运气。
在使用Holo Everywhere时,其他任何人都有类似的经历吗?
答案 0 :(得分:2)
您需要像这样定义开关。需要整个包装名称才能使用。
<org.holoeverywhere.widget.Switch
android:id="@+id/lockSwitch"
style="?switchStyleOld"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TestSwitch" />
希望这有帮助。