андроид предпочтение горизонтальный разделитель - PullRequest
5 голосов
/ 30 марта 2011

Я создал свои собственные объекты предпочтений, которые расширяют предпочтения.Я создал их только потому, что нет предпочтений для этих пользовательских типов данных.

Все работает, но мои пользовательские настройки выглядят не так, потому что в них отсутствует горизонтальный разделитель, который есть в системных настройках.иметь.Я искал код, который создает горизонтальный разделитель, но не могу найти, где это делается.

Встроенный разделитель - это не просто тонкая полоска.В этом есть немного градиента.Я думаю, что это может быть в файле макета, но я не могу найти макеты для системных настроек.

Кто-нибудь понял, как это реализовано?

1 Ответ

3 голосов
/ 12 августа 2013

Очень старый пост, но для тех, кто наткнулся на это. Не был уверен, что ОП спрашивает, как изменить разделитель или откуда приходят изображения разделителя. Так что я обращусь к обоим.

Как
Preferences использует ListView для заполнения всех индивидуальных предпочтений. Это означает, что вы можете изменить делитель, используя метод .setDivider() из ListView. PreferenceActivity уже будет иметь метод getListView() для вас. Однако для PreferenceFragments просто используйте android.R.id.list ID, чтобы найти его.

Если вы не хотите изменять разделитель с помощью кода, вы всегда можете использовать тему, переопределив атрибут listDivider. Например:

<item name="android:listDivider">@drawable/custom_divider</item>

Обратите внимание, это изменит разделитель для КАЖДОГО ListView в вашем приложении.

Где
Используемое рисование listDivider зависит от того, какая тема Android активирована. Все эти изображения вы найдете в установленном Android SDK по следующему адресу:
[Android SDK] / платформы / [API] / данные / res / drawable- [DPI] /

Просто сделайте поиск для `* divider_hor horizontal *`, и вы обнаружите немало. Они с девятью пятнами, и не все они однотонные.

...