如何创建与PreferenceFragment类别标题相同的标题?

时间:2014-01-27 20:38:53

标签: java android android-layout

我正在编写我的第一个Android应用程序,我正在努力保持一致性。我已经实现了自己的标题样式,用于分组输入字段:

enter image description here

现在我刚刚实现了我的PreferenceFragments,他们让我的标题感到羞耻!有没有办法复制Android为偏好类别标题自动创建的这些标题?

enter image description here

这是一个内置的小部件,还是仅仅是文本样式,并且我在原始标题中使用了单独的条视图?如果它只是造型,我如何实现相同的外观和感觉?

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/header_my_tasks"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="@string/content_main_heading_my_tasks"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentEnd="true" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0"
        android:layout_alignParentRight="true"
        android:layout_alignBottom="@id/header_my_tasks"
        android:text="Last updated 26/01/2014 15:11:04"/>
    <View
        android:id="@+id/divider_my_tasks"
        android:background="#CCC"
        android:layout_width="fill_parent"
        android:layout_height="2dip"
        android:layout_weight="0"
        android:layout_below="@id/header_my_tasks" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

名为preferences_category_holo.xml的首选项类别的布局文件(请参阅Android源代码)。它使用样式,称为Widget.TextView.ListSeparator。属性称为listSeparatorTextViewStyle。我假设,如果您将此样式应用于左侧的TextView,那么您应该看到相同的设计。 HEre是Android的styles.xml文件中的样式声明。

<style name="Widget.TextView.ListSeparator">
    <item name="android:background">@android:drawable/dark_header_dither</item>
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textColor">?textColorSecondary</item>
    <item name="android:textSize">14sp</item>
    <item name="android:gravity">center_vertical</item>
    <item name="android:paddingStart">8dip</item>
</style>

答案 1 :(得分:1)

我最终设法自己解决了这个问题。只需将以下样式应用于TextView:

style="?android:attr/listSeparatorTextViewStyle"