我想编辑Preference.xml样式

时间:2018-03-15 04:44:14

标签: android android-preferences android-styles

我使用Preference.xml来设置页面。

该文件包含PreferenceScreen,PreferenceCategory,SwitchPreference等。但是Preference存在问题。在PreferenceCategory中放置两个SwitchPreferences时,将出现SwitchPreferences之间的分割线。所以我想改变线条的颜色或删除它。

enter image description here

许多人使用style.xml并更改有关偏好的值。但我不知道如何将风格应用于偏好。我应该使用清单吗?怎么样?

请告诉我有关的详细信息。

------------------ UPDATE ---------------------

这是xml代码。

<?xml version="1.0" encoding="utf-8"?>

<PreferenceCategory
    android:title="Locker Mode">

    <SwitchPreference
        android:defaultValue="false"
        android:key="toggle_select_mode"
        android:switchTextOff="OFF"
        android:switchTextOn="ON"
        android:summary="Change to free mode when key activated"
        />

</PreferenceCategory>

<PreferenceCategory
    android:title="Notifications">

    <SwitchPreference
        android:defaultValue="false"
        android:key="toggle_soundkey"
        android:switchTextOff="OFF"
        android:switchTextOn="ON"
        android:summary="Play sound when key activated"
        />

    <SwitchPreference
        android:defaultValue="false"
        android:key="toggle_vibratekey"
        android:switchTextOff="OFF"
        android:switchTextOn="ON"
        android:summary="Vibrate when key activated"/>

</PreferenceCategory>
<PreferenceCategory
    android:title="Bluetooth">

    <ListPreference
        android:title="Bluetooth sensitivity"
        android:key="lp_ble_sensitivity"
        android:entries="@array/ble_sensitivity"
        android:entryValues="@array/ble_sensitivity"
        android:dialogTitle="Bluetooth sensitivity"
        />

</PreferenceCategory>

<PreferenceCategory
    android:title="User Interface">

    <SwitchPreference
        android:defaultValue="false"
        android:key="toggle_appstartscan"
        android:switchTextOff="OFF"
        android:switchTextOn="ON"
        android:summary="Start scanning when App started"
        android:autoText="true"
    />

    <SwitchPreference
        android:defaultValue="false"
        android:key="toggle_appfinish"
        android:switchTextOff="OFF"
        android:switchTextOn="ON"
        android:summary="Finish App when key activated"/>

</PreferenceCategory>

1 个答案:

答案 0 :(得分:0)

preferencefragment

下添加此代码
 @Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// remove dividers
View rootView = getView();
ListView list = (ListView) rootView.findViewById(android.R.id.list);
list.setDivider(null);

}

您可以使用样式

删除分隔符
<style name="PreferenceFragment.Material">
    <item name="android:divider">@null</item>
</style>

在PreferencesActivity中设置样式

使用style="@style/PreferenceFragment.Material"

设置样式

或者你可以做到

   List view.setDivider(null); //as shown above