在API 14中引入的开关部件默认情况下,用全息主题风格。 我想它的样式略有不同,改变其颜色和外形有点为品牌的原因。 如何去这件事吗? 我知道这一定是可能的,因为我看过默认ICS和三星的TouchWiz主题之间的区别
我想我需要一些国家的图形内容和我见过几个款式http://developer.android.com/reference/android/R.styleable.html与Switch_thumb和Switch_track看起来像我可能是什么之后。 我只是不知道如何去使用它们。
我使用ActionbarSherlock如果有差别。 只有运行API V14或以上的设备将能够在所有使用过程中的一个开关。
您可以定义用作背景的图形内容和切换器部分是这样的:
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:thumb="@drawable/switch_thumb"
android:track="@drawable/switch_bg" />
现在,你需要创建一个选择用于定义切换绘制的不同状态。 这里从Android源的副本:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@drawable/switch_thumb_disabled_holo_light" />
<item android:state_pressed="true" android:drawable="@drawable/switch_thumb_pressed_holo_light" />
<item android:state_checked="true" android:drawable="@drawable/switch_thumb_activated_holo_light" />
<item android:drawable="@drawable/switch_thumb_holo_light" />
</selector>
这定义了拇指可绘制,即上方移动背景的图像。 有四种ninepatch用于滑块图片:
停用的版本(Android是使用xhdpi版)
该压滑块:
激活滑动器(接通状态):
默认版本(关闭状态):
也有在下面选择中定义的背景三种不同的状态:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@drawable/switch_bg_disabled_holo_dark" />
<item android:state_focused="true" android:drawable="@drawable/switch_bg_focused_holo_dark" />
<item android:drawable="@drawable/switch_bg_holo_dark" />
</selector>
停用的版本:
聚焦的版本:
而默认版本:
为了有一个风格的切换只需创建此两个选择,它们设置为你的交换机视图,然后更改7张图像到您想要的风格。
这是由雅努什一个真棒详细的答复。 但只是为人们谁是未来此页答案起见,更简单的方法是在http://android-holo-colors.com/从Android的资产工作室链接(死链接)
所有的工具都是一个很好的说明在AndroidOnRocks.com (网站离线)
不过,我强烈推荐大家读雅努什的答复,否则将导致理解更加清晰。 使用该工具做的东西真正的快
您可以通过设置不同的颜色属性定制材料样式。 例如自定义应用程序的主题
<style name="CustomAppTheme" parent="Theme.AppCompat">
<item name="android:textColorPrimaryDisableOnly">#00838f</item>
<item name="colorAccent">#e91e63</item>
</style>
自定义开关主题
<style name="MySwitch" parent="@style/Widget.AppCompat.CompoundButton.Switch">
<item name="android:textColorPrimaryDisableOnly">#b71c1c</item>
<item name="android:colorControlActivated">#1b5e20</item>
<item name="android:colorForeground">#f57f17</item>
<item name="android:textAppearance">@style/TextAppearance.AppCompat</item>
</style>
您可以自定义开关跟踪和定义XML绘图资源切换拇指像下面的图像。 欲了解更多信息http://www.zoftino.com/android-switch-button-and-custom-switch-examples
替代性和更容易的方式是使用形状,而不是9补丁。 它已经在这里解释说: https://stackoverflow.com/a/24725831/512011