Android 4.0 podtytuł (sekcja) Stylizacja etykiet

Więc patrzyłem na Android Dev Design site dla ICS i wszystkie aplikacje mają te napisy / nagłówki sekcji:

Nagłówki sekcji ICS

Zastanawiałem się, czy ktoś zna niestandardową stylizację, aby uzyskać etykiety, które wyglądają tak. Nie mogłem znaleźć żadnych widoków etykiet, które wyglądały tak w Android SDK, ale naprawdę podoba mi się ich wygląd.

Z góry dzięki!

Author: Brandon, 2012-04-05

4 answers

Więc to jest to, czego użyłem:

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

Gdzie @ drawable/section_header to:

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

I @ color ' S:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="emphasis">#31b6e7</color>
    <color name="bg_gray">#cecbce</color>
</resources>
 69
Author: Brandon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-12 02:34:13

Brandon ma rację; musisz teraz wykonać niestandardową pracę, aby uzyskać niebieski styl, który jest trochę frustrujący, ponieważ jest zawalony w nowym przewodniku po projektowaniu.

Niestety, nie możesz odwoływać się do Widget.Holo.Light.TextView.ListSeparator jako rodzica własnego stylu, ponieważ jest prywatny.

Ale jeśli interesuje Cię tylko szara linia, możesz użyć stock android style inline:

style="?android:attr/listSeparatorTextViewStyle"

To przynajmniej doprowadzi Cię do szarej linii, w stylu caps:

Tutaj wpisz opis obrazka

Brandon ' s odpowiedź przeniesie Cię do niestandardowego niebieskiego stylu.

Dla twojej wiadomości, Jeśli chcesz podklasować dokładnie z bieżącego (v15) stylu Androida dla separatorów List, kombinowane style używane w Androidzie dla Widget.TextView.ListSeparator i Widget.Holo.Light.TextView.ListSeparator, które możesz skopiować do nowego stylu to:

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

Będziesz musiał skopiować pliki do własnych katalogów, ponieważ są prywatne.

 52
Author: annie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-09 01:41:09

Nie jestem pewien dokładnie, który to styl, ale aplikacja preferencje używa tego zbyt (lub coś bardzo podobnego). To nagłówek sekcji. Ponadto pole tekstowe mA textAllCaps ustawione na true. Prawdopodobnie możesz go znaleźć w folderze zasoby SDK, jeśli szukasz textAllCaps:)

 2
Author: dmon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-05 00:15:26

Mówię, aby narysować linię wystarczy użyć widoku, z wysokością ustawioną tu 1DP lub tak. Możesz ustawić kolor za pomocą atrybutu background

 0
Author: urSus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-08 20:11:36