Android 4.0 подзаголовок (раздел) стиль этикетки


Так я смотрел на Android Dev Design site для ICS и всех приложений есть эти субтитры / заголовки разделов:

Мне было интересно, знает ли кто-нибудь пользовательский стиль для достижения ярлыков, которые выглядят так. Я не мог найти никаких представлений ярлыков, которые выглядели бы так в Android SDK, но мне очень нравится, как они выглядят.

спасибо заранее!

4 64

4 ответа:

вот что я в конечном итоге с помощью:

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

и @цвет:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="emphasis">#31b6e7</color>
    <color name="bg_gray">#cecbce</color>
</resources>

Брэндон прав; вам нужно будет сделать заказную работу на данный момент, чтобы получить синий стиль, который является своего рода разочарованием, так как он перчится во всем новом руководстве по дизайну.

к сожалению, вы не можете ссылку Widget.Holo.Light.TextView.ListSeparator как родитель пользовательского стиля, потому что это личное.

но если вас интересует только серая линия, вы можете использовать встроенный стиль Android:

style="?android:attr/listSeparatorTextViewStyle"

это, по крайней мере, приведет вас к серой линии, все шапки стиль:

enter image description here

ответ Брэндона приведет вас к пользовательскому синему стилю.

FYI, если вы хотите, чтобы подкласс точно от текущего (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>

вам придется скопировать чертежи в свои собственные каталоги, так как они являются частными.

Я не уверен, какой именно стиль это, но приложение preferences использует это тоже (или что-то очень похожее). Это заголовок раздела. Кроме того, текстовое поле имеет textAllCaps значение true. Вероятно, вы можете найти его в папке ресурсов SDK, если вы ищете textAllCaps:)

Я говорю, чтобы нарисовать линию, просто используйте вид, с высотой, установленной tu 1dp или около того. Вы можете установить цвет с помощью атрибута фона