Подкатегория Android 4.0 (раздел) Стиль стилей

Итак, я смотрел сайт Android Dev Design для ICS, и все приложения имеют эти заголовки субтитров/разделов:

ICS Section Headers

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

Спасибо, Advance!

Ответ 1

Итак, вот что я в итоге использовал:

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

Ответ 2

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

К сожалению, вы не можете ссылаться на 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>

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

Ответ 3

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

Ответ 4

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