4

我正在尝试在我的 PreferenceFragment 中设置我的 SwitchPreference 元素的样式。

我所做的是定义一种风格

<style name="CustomSwitchPreference">
    <item name="android:thumb">@drawable/custom_switch</item>
    <item name="android:background">@drawable/switch_background</item>
</style>

然后将样式设置为我的元素

    <SwitchPreference
        android:key="log_all_toast"
        android:width="10dip"
        android:height="7dip"
        android:switchTextOn="@string/yes"
        android:switchTextOff="@string/no"
        android:title="@string/settings_log_all_toast_title"
        android:summary="@string/settings_log_all_toast_summary"
        style="@style/CustomSwitchPreference"/>

这两个可绘制对象是正确定义的选择器。实际上,我是从另一篇关于 stackoverflow 的帖子中获得灵感的。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@drawable/switch_disabled" />
<item android:state_pressed="true"  android:drawable="@drawable/switch_pressed" />
<item android:state_checked="true"  android:drawable="@drawable/switch_active" />
<item                               android:drawable="@drawable/switch_default" />

<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" />

发生的事情是……什么都没有。没有错误,也没有样式。

你有没有设法设计自己的 SwitchPreference 样式?我在网上找不到太多关于它的信息。

谢谢

4

0 回答 0