Android 4.0-Untertitel (Abschnitt) Label Styling [geschlossen]

Also habe ich mir das angeschautAndroid Dev Design Seite für ICS und alle Apps haben diese Untertitel / Abschnittsüberschriften:

Ich habe mich gefragt, ob jemand das benutzerdefinierte Styling kennt, um Etiketten zu erhalten, die so aussehen. Ich konnte im Android SDK keine Label Views finden, die so aussahen, aber ich mag die Art und Weise, wie diese aussehen.

Danke im Voraus!

Antworten auf die Frage(4)

um welchen Stil es sich handelt, aber die Einstellungen-App verwendet diesen auch (oder etwas sehr Ähnliches). Es ist eine Abschnittsüberschrift. Auch das TextField hat dastextAllCaps auf true setzen. Sie finden es wahrscheinlich im Ressourcenordner des SDK, wenn Sie nach textAllCaps suchen :)

 annie10. Sept. 2012, 20:21
Zu Ihrer Information, dies ist nur für API Level 14 und früher verfügbar. Sie müssen programmgesteuert auf alle Großbuchstaben setzen oder spezielle Großbuchstaben-Zeichenfolgen in Ihren Zeichenfolgen-Ressourcendateien verwenden, damit dies vor Stufe 14 funktioniert.
 dmon10. Sept. 2012, 20:39
14 und später, aber ja, du hast recht.

um die Linie zu zeichnen, benutze einfach eine Ansicht, deren Höhe auf 1dp oder so eingestellt ist. Sie können die Farbe mithilfe des Hintergrundattributs festlegen

Lösung für das Problem

Das ist also, was ich letztendlich verwendet habe:

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

Wobei @ drawable / section_header ist:

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

Und @ color's:

<code><?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="emphasis">#31b6e7</color>
    <color name="bg_gray">#cecbce</color>
</resources>
</code>
 joepetrakovich07. Sept. 2013, 21:17
Dies ist in der Nähe, aber Sie möchten es leicht wie der Stil in Annies Antwort ändern: textStyle of bold. paddingLeft von 8dp anstelle von 4, und ich würde die Höhe des Drawable 1dp anstelle von 2 machen. Fügen Sie auch ein 8dp paddingBottom hinzu.
 Nino van Hooff27. Feb. 2013, 15:16
tipps für noobs: der top code sollte in res / values ​​/ sectionHeader.xml sein. Der Teil @colors sollte sich in der Datei res / values ​​/ colors.xml befinden. Verwendung: set style = "@ style / sectionHeader" in einer Textansicht, in der dieser Header verwendet werden soll. Verwenden Sie margin = "15dp" für diese Textansicht
 pjv20. Dez. 2012, 18:59
Dies bewirkt nicht, dass die blaue Linie über dem darunter liegenden Text hervorsteht, beispielsweise in einem GridLayout mit einem darunter liegenden TextView. Ich denke, das liegt daran, dass sie im Screenshot keine TextViews verwenden. Was soll das richtige Verhalten sein?

Sie müssen vorerst benutzerdefinierte Arbeiten ausführen, um den blauen Stil zu erhalten. Dies ist frustrierend, da er im gesamten neuen Designleitfaden enthalten ist.

Leider können Sie nicht verweisenWidget.Holo.Light.TextView.ListSeparator als Eltern eines benutzerdefinierten Stils, weil es privat ist.

Wenn Sie sich jedoch nur für die graue Linie interessieren, können Sie den Standard-Android-Stil inline verwenden:

<code>style="?android:attr/listSeparatorTextViewStyle"
</code>

Damit kommst du zumindest zur grauen Linie, ganz im Stil von Großbuchstaben:

Brandons Antwort bringt Sie zum benutzerdefinierten blauen Stil.

Zu Ihrer Information, wenn Sie den aktuellen (v15) Android-Stil für Listentrenner genau unterteilen möchten, die kombinierten Stile, die in Android für verwendet werdenWidget.TextView.ListSeparator undWidget.Holo.Light.TextView.ListSeparator die Sie in einen neuen Stil kopieren können, sind:

<code><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>
</code>

Sie müssen die Drawables jedoch in Ihre eigenen Verzeichnisse kopieren, da sie privat sind.

Ihre Antwort auf die Frage