web-dev-qa-db-ja.com

Android 4.0 Sub-Title(section)ラベルスタイリング

そこで私は Android Dev Designサイト for ICSを見て、すべてのアプリにこれらの字幕/セクションヘッダーがあります:

ICS Section Headers

このようなラベルを作成するためのカスタムスタイルを知っている人がいるのではないかと思っていました。 Android SDKでこのようなラベルビューを見つけることができませんでしたが、これらの外観がとても気に入っています。

前もって感謝します!

64
Brandon

だから、これは私が最終的に使用したものです:

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

そして@colorの:

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

ブランドンの権利。青いスタイルを得るには、今のところカスタム作業を行う必要があります。これは新しいデザインガイド全体に散らばっているので、いらいらします。

残念ながら、参照できませんWidget.Holo.Light.TextView.ListSeparatorはプライベートであるため、カスタムスタイルの親として。

ただし、灰色の線だけに興味がある場合は、stock Android style inline:

style="?android:attr/listSeparatorTextViewStyle"

これにより、少なくとも灰色の線、すべて大文字のスタイルが表示されます。

enter image description here

ブランドンの回答により、カスタムブルースタイルが得られます。

参考までに、現在の(v15)Android List Separatorsのスタイル、正確にサブクラスにしたい場合、Android for 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>

ただし、ドロワブルはプライベートであるため、独自のディレクトリにコピーする必要があります。

52
annie

どのスタイルなのか正確にはわかりませんが、設定アプリでもそれを使用しています(または非常によく似たもの)。これはセクションヘッダーです。また、TextFieldのtextAllCapsはtrueに設定されています。 textAllCapsを探すと、おそらくSDKのリソースフォルダーで見つけることができます。

2
dmon

線を描くには、高さをtu 1dp程度に設定したビューを使用するだけです。背景属性を使用して色を設定できます

0
urSus