PreferenceScreen圆角

时间:2012-03-15 16:48:46

标签: android android-layout android-preferences rounded-corners

通过将此drawable应用为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 :(得分:0)

看起来我可以像这样自定义PreferenceCategory:Custom PreferenceCategory Headings

如果我成功,我会回复。

编辑:这就是我最终做到的方式,我很高兴我学会了如何制作自定义小部件。我使用本教程制作了一个自定义的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>

希望能帮助别人!