65

因此,我查看了 ICS 的Android 开发设计网站,所有应用程序都有这些字幕/部分标题:

ICS 部分标题

我想知道是否有人知道自定义样式来实现看起来像这样的标签。我在 Android SDK 中找不到任何看起来像这样的标签视图,但我真的很喜欢它们的外观。

提前致谢!

4

4 回答 4

70

所以这就是我最终使用的:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="sectionHeader" parent="android:Widget.Holo.Light.TextView">
        <item name="android:drawableBottom">@drawable/section_header</item>
        <item name="android:drawablePadding">4dp</item>
        <item name="android:layout_marginTop">8dp</item>
        <item name="android:paddingLeft">4dp</item>
        <item name="android:textAllCaps">true</item>
        <item name="android:textColor">@color/emphasis</item>
        <item name="android:textSize">14sp</item>
    </style>
</resources>

@drawable/section_header 在哪里:

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <size android:width="1000dp" android:height="2dp" />
    <solid 
        android:color="@color/emphasis"/>
</shape>

和@color的:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="emphasis">#31b6e7</color>
    <color name="bg_gray">#cecbce</color>
</resources>
于 2012-04-12T02:34:13.513 回答
52

布兰登的权利;您现在需要进行自定义工作才能获得蓝色样式,这有点令人沮丧,因为它贯穿于新的设计指南中。

不幸的是,您不能将Widget.Holo.Light.TextView.ListSeparator其作为自定义样式的父级引用,因为它是私有的。

但如果您只对灰线感兴趣,您可以使用现有的 Android 样式内联:

style="?android:attr/listSeparatorTextViewStyle"

这至少会让你进入灰线,所有大写风格:

在此处输入图像描述

Brandon 的回答将带您进入定制的蓝色风格。

仅供参考,如果您想从当前 (v15) 的 Android 样式中完全继承列表分隔符,Android 中使用的组合样式Widget.TextView.ListSeparator以及Widget.Holo.Light.TextView.ListSeparator您可以复制到新样式的样式是:

<item name="android:background">@drawable/list_section_divider_holo_light</item>
<item name="android:textAllCaps">true</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">?android:textColorSecondary</item>
<item name="android:textSize">14sp</item>
<item name="android:gravity">center_vertical</item>
<item name="android:paddingLeft">8dip</item>

不过,您必须将可绘制对象复制到您自己的目录中,因为它们是私有的。

于 2012-05-09T00:29:43.693 回答
2

我不确定它到底是哪种风格,但首选项应用程序也使用它(或非常相似的东西)。这是一个节标题。此外,TextField 已textAllCaps设置为 true。如果您查找 textAllCaps,您可能可以在 SDK 的资源文件夹中找到它:)

于 2012-04-05T00:15:26.533 回答
0

我说,画线只需使用一个视图,高度设置为 tu 1dp 左右。您可以使用背景属性设置颜色

于 2013-02-08T20:11:36.950 回答