PreferenceScreen закругленные углы

1

Я смог получить ListView, чтобы иметь закругленные углы, применяя этот drawable в качестве фона 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, что делает мою жизнь намного проще. Тем не менее, я применил переносимое к экрану предпочтений тему,

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

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

EDIT: второй после публикации этого вопроса, я попытался удалить верхнюю PreferenceCategory. Оказывается, это прикрывало закругленные края. Хотя я не уверен, что мой макет будет хорошо выглядеть с округленной верхней PreferenceCategory, есть ли способ сделать это?

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

Теги:
android-preferences
android-layout
rounded-corners

1 ответ

0

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

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

EDIT: Вот как я это сделал, я очень рад, что узнал, как создавать пользовательские виджеты. Я использовал этот учебник для создания пользовательской 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 drawable,

<?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>

Надеюсь, что кто-то поможет!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню