Androidユーザーインタフェース---操作バー(ActionBar 5)
操作バーのスタイルの設定
アプリケーション内のビジュアルコンポーネントをカスタマイズした場合は、アプリケーションの設計と一致するように操作バーを再設計することもできます.このようにするには、Androidのスタイルとテーマフレームワークの特殊なスタイルプロパティを使用して、操作バーのスタイルを再設定する必要があります.
注意:外観を変更する背景画像は、現在のボタンの状態(選択、押下、解除)に依存するため、描画可能なリソースは描画可能な状態リストである必要があります.
警告:あなたが提供したすべての描画可能な背景について、NinePatchタイプの描画可能なリソースを使用して、画像のストレッチを許可することを確認します.NinePatchタイプの画像は、40画素より30画素幅の高い画像よりも小さいはずです.
普通の外観
android:windowActionBarOverlay
このプロパティは、Activityのレイアウト位置からのオフセットではなく、アクションバーがActivityレイアウトを上書きすべきかどうかを宣言します.このプロパティのデフォルト値はfalseです.
通常、画面上では、オペレータバーは独自のスペースを必要とし、Activityのレイアウトを埋めるために残りのスペースを使用します.アクションバー4がモードを上書きすると、Activityはすべての有効空間を使用し、Activityの上にアクションバーを描画します.このオーバーライドモードは、オペレータバーが非表示になったり表示されたりしたときに、レイアウト内のコンテンツが一定のサイズで位置を維持したい場合に便利です.また、ユーザーが操作バーの背後にあるActivityレイアウトを依然として見ることができるように、操作バーに半透明の背景を設定できるため、効果を表示するために使用することもできます.
注意:デフォルトでは、Holoトピックは半透明の背景で操作バーを描画します.ただし、独自のスタイルで変更できます.デフォルトでは、DeviceDefaultトピックは異なるデバイスで不透明な背景を使用する可能性があります.
上書きモードがオンの場合、Activityレイアウトでは操作バーが上書きされていることは認識されません.したがって、操作バーが上書きされている領域には、重要な情報やUIコンポーネントを配置しないほうがいいです.適切であれば、プラットフォームのactionBarSize値を参照して、操作バーの高さを決定できます.たとえば、XMLレイアウトファイルでこの値を参照します.
getHeight()メソッドを使用して、実行時に操作バーの高さを取得することもできます.Activity生存期間の初期にこのメソッドを呼び出すと、ナビゲーションオプションラベルのため、呼び出されたときに反映される操作バーの高さには、スタックされた操作バーが含まれない可能性があります.実行時に操作バー全体の高さ(スタックされた操作バーを含む)を判断する方法については、Honeycomb GalleryサンプルアプリケーションのTitlesFragmentクラスを参照してください.
http://developer.android.com/resources/samples/HoneycombGallery/index.html
アクションアイテムスタイル
android:actionButtonStyle
アクションアイテムボタンにスタイルリソースを定義します.
android:actionBarItemBackground
各アクションアイテムのバックグラウンドに描画可能なリソースを定義する(APIレベル14に追加される).
android:itemBackground
各オーバーフローメニュー項目のバックグラウンド定義に描画可能なリソースを指定します.
android:actionBarDivider
操作項目間の分割線に描画可能なリソースを定義する(APIレベル14に追加される)
android:actionMenuTextColor
操作項目に表示されるテキストに色を定義します.
android:actionMenuTextAppearance
操作項目に表示されるテキストにスタイルリソースを定義します.
android:actionBarWidgetThem
操作ウィンドウとして操作バーに埋め込まれたビジュアルコンポーネントにテーマリソースを定義する(APIレベル14に追加される).
ナビゲーションオプションラベルスタイル
android:actionBarTabStyle
操作バーのオプションラベルにスタイルリソースを定義します.
android:actionBarTabBarStyle
ナビゲーションオプションラベルの下に表示される細いバーにスタイルリソースを定義します.
android:actionBarTabTextStyle
ナビゲーション・オプション・ラベルのテキストにスタイル・リソースを定義します.
ドロップダウンリストのスタイル
android:actionDropDownStyle
ドロップダウン・ナビゲーション・リストのスタイル(背景やテキスト・スタイルなど)を定義します.
たとえば、次の例のXMLファイルでは、操作バーにカスタマイズされたスタイルが定義されています.
注:
アプリケーション内のビジュアルコンポーネントをカスタマイズした場合は、アプリケーションの設計と一致するように操作バーを再設計することもできます.このようにするには、Androidのスタイルとテーマフレームワークの特殊なスタイルプロパティを使用して、操作バーのスタイルを再設定する必要があります.
注意:外観を変更する背景画像は、現在のボタンの状態(選択、押下、解除)に依存するため、描画可能なリソースは描画可能な状態リストである必要があります.
警告:あなたが提供したすべての描画可能な背景について、NinePatchタイプの描画可能なリソースを使用して、画像のストレッチを許可することを確認します.NinePatchタイプの画像は、40画素より30画素幅の高い画像よりも小さいはずです.
普通の外観
android:windowActionBarOverlay
このプロパティは、Activityのレイアウト位置からのオフセットではなく、アクションバーがActivityレイアウトを上書きすべきかどうかを宣言します.このプロパティのデフォルト値はfalseです.
通常、画面上では、オペレータバーは独自のスペースを必要とし、Activityのレイアウトを埋めるために残りのスペースを使用します.アクションバー4がモードを上書きすると、Activityはすべての有効空間を使用し、Activityの上にアクションバーを描画します.このオーバーライドモードは、オペレータバーが非表示になったり表示されたりしたときに、レイアウト内のコンテンツが一定のサイズで位置を維持したい場合に便利です.また、ユーザーが操作バーの背後にあるActivityレイアウトを依然として見ることができるように、操作バーに半透明の背景を設定できるため、効果を表示するために使用することもできます.
注意:デフォルトでは、Holoトピックは半透明の背景で操作バーを描画します.ただし、独自のスタイルで変更できます.デフォルトでは、DeviceDefaultトピックは異なるデバイスで不透明な背景を使用する可能性があります.
上書きモードがオンの場合、Activityレイアウトでは操作バーが上書きされていることは認識されません.したがって、操作バーが上書きされている領域には、重要な情報やUIコンポーネントを配置しないほうがいいです.適切であれば、プラットフォームのactionBarSize値を参照して、操作バーの高さを決定できます.たとえば、XMLレイアウトファイルでこの値を参照します.
getHeight()メソッドを使用して、実行時に操作バーの高さを取得することもできます.Activity生存期間の初期にこのメソッドを呼び出すと、ナビゲーションオプションラベルのため、呼び出されたときに反映される操作バーの高さには、スタックされた操作バーが含まれない可能性があります.実行時に操作バー全体の高さ(スタックされた操作バーを含む)を判断する方法については、Honeycomb GalleryサンプルアプリケーションのTitlesFragmentクラスを参照してください.
http://developer.android.com/resources/samples/HoneycombGallery/index.html
アクションアイテムスタイル
android:actionButtonStyle
アクションアイテムボタンにスタイルリソースを定義します.
android:actionBarItemBackground
各アクションアイテムのバックグラウンドに描画可能なリソースを定義する(APIレベル14に追加される).
android:itemBackground
各オーバーフローメニュー項目のバックグラウンド定義に描画可能なリソースを指定します.
android:actionBarDivider
操作項目間の分割線に描画可能なリソースを定義する(APIレベル14に追加される)
android:actionMenuTextColor
操作項目に表示されるテキストに色を定義します.
android:actionMenuTextAppearance
操作項目に表示されるテキストにスタイルリソースを定義します.
android:actionBarWidgetThem
操作ウィンドウとして操作バーに埋め込まれたビジュアルコンポーネントにテーマリソースを定義する(APIレベル14に追加される).
ナビゲーションオプションラベルスタイル
android:actionBarTabStyle
操作バーのオプションラベルにスタイルリソースを定義します.
android:actionBarTabBarStyle
ナビゲーションオプションラベルの下に表示される細いバーにスタイルリソースを定義します.
android:actionBarTabTextStyle
ナビゲーション・オプション・ラベルのテキストにスタイル・リソースを定義します.
ドロップダウンリストのスタイル
android:actionDropDownStyle
ドロップダウン・ナビゲーション・リストのスタイル(背景やテキスト・スタイルなど)を定義します.
たとえば、次の例のXMLファイルでは、操作バーにカスタマイズされたスタイルが定義されています.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActivityTheme" parent="@android:style/Theme.Holo">
<item name="android:actionBarTabTextStyle">@style/CustomTabTextStyle</item>
<item name="android:actionBarDivider">@drawable/ab_divider</item>
<item name="android:actionBarItemBackground">@drawable/ab_item_background</item>
</style>
<!-- style for the action bar tab text -->
<style name="CustomTabTextStyle" parent="@android:style/TextAppearance.Holo">
<item name="android:textColor">#2456c2</item>
</style>
</resources>
注: