読者です 読者をやめる 読者になる 読者になる

うさがにっき

読書感想文とプログラムのこと書いてきます

ActionBarスタイルのカスタマイズ

Android

概要

actionBarスタイルの画面をthemeを使ってカスタマイズする

やりかた

style.xml

    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="android:actionBarStyle">@style/ActionBarStyle</item>
    </style>

ベースとなるstyleをTheme.AppCompat.Lightとする

    <style name="ActionBarStyle"
        parent="Widget.AppCompat.Light.ActionBar.Solid">
        
        <!-- actionBarタイトル -->
        <item name="android:titleTextStyle">@style/ActionBarTitleStyle</item>
        <!-- actionBarサブタイトル -->
        <item name="android:subtitleTextStyle">@style/ActionBarSubtitleStyle</item>
        <!-- actionBar背景 -->
        <item name="android:background">#e56200</item>
        <!-- actionBar下部背景 -->
        <item name="android:backgroundStacked">#ffffff</item>
        <!-- actionBar画面下部背景 -->
        <item name="android:backgroundSplit">#ffe1cc</item>
    </style>

ActionBarに設定するstyleには以下がある

  • ActionBar暗い系
  1. Widget.Holo.ActionBar
  2. Widget.Holo.ActionBar.Solid
  • ActionBar明るい系
  1. Widget.Holo.Light.ActionBar
  2. Widget.Holo.Light.ActionBar.Solid

これらを元にして色々な項目の属性を設定する

    <style name="ActionBarTitleStyle"
        parent="style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        
        <item name="android:textStyle">bold|italic</item>
        <item name="android:textColor">#ffffff</item>
    </style>
    
    <style name="ActionBarSubtitleStyle"
        parent="style/TextAppearance.AppCompat.Widget.ActionBar.Subtitle">
        
        <item name="android:typeface">monospace</item>
        <item name="android:textColor">#ffffff</item>
    </style>
</resources>

文字系のstyle設定

上記のxmlだと、以下の画面となる
色々表現できて面白い
f:id:tiro105:20140414225621p:plain