PreferenceScreen закругленные углы - PullRequest
1 голос
/ 15 марта 2012

Мне удалось получить ListView с закругленными углами, применив этот чертеж в качестве фона ListView,

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle">

    <solid android:color="@android:color/white" />
    <corners android:radius="10dip"/>     

</shape>

Я недавно узнал о представлении PreferenceScreen, которое значительно облегчает мою жизнь. Тем не менее, я применил Drawable к экрану настроек через тему,

<style name="PreferencesTheme">
    <item name="android:windowBackground">@drawable/settingslistshape</item>
</style>

Я правильно добавил тему в манифест, но он ничего не делает. Я также пытался использовать android: background, но это скругляет углы каждого элемента строки. Так как же закруглить углы экрана настроек?

РЕДАКТИРОВАТЬ: Через секунду после публикации этого вопроса я попытался удалить верхнюю категорию PreferenceCategory. Оказывается, это скрывало закругленные края. Хотя я не уверен, что мой макет будет хорошо выглядеть с закругленной вершиной PreferenceCategory, есть ли способ сделать это?

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

1 Ответ

0 голосов
/ 15 марта 2012

Похоже, я могу настроить категорию PreferenceCategory следующим образом: Пользовательские заголовки PreferenceCategory

Я отправлю вам ответ, если я успешно.

РЕДАКТИРОВАТЬ: ЭтоВот как я это сделал, я очень рад, что научился делать собственные виджеты.Я использовал этот учебник для создания пользовательской категории PreferenceCategory: http://udinic.wordpress.com/2011/08/18/dress-up-your-preferenceactivity/

. Вы можете увидеть код здесь: https://github.com/Udinic/SmallExamples/tree/master/CustomPreferenceActivity

Поэтому вместо изменения цвета, как он это сделал, это мой метод onCreateView,

@Override
protected View onCreateView(ViewGroup parent) {
    View newView = super.onCreateView(parent);

    newView.setBackgroundResource(R.drawable.preferencecategoryshape);

    return newView;

}

и это мой xml-файл,

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle">
    <corners android:topLeftRadius="10dip" android:topRightRadius="10dip"/>     

</shape>

Надеюсь, это кому-нибудь поможет!

...