AndroidX makes it simple, but I wish it was better documented.
In XML
To add/remove dividers between preferences in XML, use the following attributes:
<androidx.preference.PreferenceScreen
xmlns:app="http://schemas.android.com/apk/res-auto">
<Preference
...
app:allowDividerAbove="true/false"
app:allowDividerBelow="true/false"
... />
</androidx.preference.PreferenceScreen>
Note, a divider will only be shown between two preferences if the top divider has allowDividerBelow
set to true
and the bottom divider has allowDividerAbove
set to true
.
In Code
You can also change/remove dividers programmatically using the following methods in onActivityCreated
of your PreferenceFragmentCompat
:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// To remove:
setDivider(null);
// To change:
setDivider(ContextCompat.getDrawable(getActivity(), R.drawable.your_drawable));
setDividerHeight(your_height);
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…