65 votes

Sous-titre Android 4.0 (section) Style des étiquettes

Je regardais donc le site Android Dev Design pour ICS et toutes les applications ont les en-têtes de section / sous-titres suivants:

En-têtes de section ICS

Je me demandais si quelqu'un connaissait le style personnalisé pour réaliser des étiquettes qui ressemblent à ceci. Je ne pouvais trouver aucune étiquette qui ressemblait à cela dans le SDK Android, mais j'aime beaucoup leur apparence.

Merci d'avance!

70voto

Brandon Points 1343

Donc voici ce que j'ai fini par utiliser:

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

Où @ drawable / section_header est:

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

Et @ couleur:

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

52voto

annie Points 827

Brandon droit; vous aurez besoin de faire un travail sur mesure pour maintenant pour obtenir le bleu de style, ce qui est un peu frustrant car il est parsemé tout au long du nouveau guide de conception.

Malheureusement, vous ne pouvez pas faire référence Widget.Holo.Light.TextView.ListSeparator en tant que parent d'un style personnalisé, parce que c'est privé.

Mais si vous êtes simplement intéressé par la ligne grise, vous pouvez utiliser le stock Android de style en ligne:

style="?android:attr/listSeparatorTextViewStyle"

Cela permettra au moins de vous obtenir à la ligne grise, tous les caps de style:

enter image description here

Brandon réponse que vous obtiendrez à la coutume bleu style.

Pour info, si vous souhaitez la sous-classe exactement à partir de l'actuel (v15) Android style pour la Liste des Séparateurs, la combinaison des styles utilisés dans Android pour Widget.TextView.ListSeparator et Widget.Holo.Light.TextView.ListSeparator que vous pouvez copier sur un nouveau style:

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

Vous devrez copier l'un drawable à vos propres répertoires si, puisqu'ils sont privés.

2voto

dmon Points 20795

Je ne sais pas exactement de quel style il s'agit, mais l'application de préférences l'utilise également (ou quelque chose de très similaire). C'est un en-tête de section. De plus, TextField a textAllCaps défini sur true. Vous pouvez probablement le trouver dans le dossier des ressources du SDK si vous recherchez le textAllCaps :)

0voto

urSus Points 2583

Je dis, pour tracer la ligne, utilisez simplement une vue, avec une hauteur définie à 1dp ou plus. Vous pouvez définir la couleur en utilisant l'attribut background

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X