我想编辑 Preference.xml 样式
I want to edit Preference.xml style
设置页面我用了Preference.xml
文件中有PreferenceScreen、PreferenceCategory、SwitchPreference等。但是 Preference 有问题。当在PreferenceCategory 中放置两个SwitchPreferences 时,SwitchPreferences 之间的分界线出现。所以我想更改线条的颜色或将其删除。
许多人使用 style.xml
并更改有关偏好的值。但我不知道如何将样式应用于首选项。我应该使用清单吗?那怎么办?
请告诉我详细情况。
----------------更新--------------------
这是 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>
在 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
设置页面我用了Preference.xml
文件中有PreferenceScreen、PreferenceCategory、SwitchPreference等。但是 Preference 有问题。当在PreferenceCategory 中放置两个SwitchPreferences 时,SwitchPreferences 之间的分界线出现。所以我想更改线条的颜色或将其删除。
许多人使用 style.xml
并更改有关偏好的值。但我不知道如何将样式应用于首选项。我应该使用清单吗?那怎么办?
请告诉我详细情况。
----------------更新--------------------
这是 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>
在 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