AndroidにおけるActionBarのオーバーライドオーバーラップ
作成:Vincent 4 J-校正:
原文:http://developer.android.com/training/basics/actionbar/overlaying.html
ActionBarオーバーライドオーバーラップ
デフォルトでは、action barはactivityウィンドウの上部に表示され、他のレイアウトの有効なスペースが少し減少します.ユーザインタラクション中にaction barを非表示にして表示する場合は、ActionBarのhide()とshow()を呼び出すことで実現できます.ただし、activityは新しい寸法に基づいて計算を再現し、レイアウトを再描画します.
action barの非表示と表示中にレイアウトを調整しないように、action barのオーバーラップモードを有効にします.オーバーラップモードでは、使用可能なすべてのスペースがレイアウトに使用され、action barがレイアウトにオーバーラップします.これにより、レイアウトの上部が遮断されますが、action barが非表示または表示になった場合、システムはレイアウトを調整する必要はなく、シームレスな移行を必要としません.
ヒント:action barの下のレイアウト部分を表示したい場合は、図1に示すように、背景部分が透明なカスタムスタイルのaction barを作成できます.Actionbarの背景を定義する方法については、ActionBarのスタイル化を参照してください.
図1.オーバーラップモードでのgallery action bar
オーバーレイモードを有効にする
Actionbarのオーバーラップモードを有効にするには、既存のaction barトピックに継承され、
Android 3.0以上のみ対応
minSdkValersonが
Android 2.1以上をサポート
Android 3.0以下で動作するデバイスと互換性のためにSupportライブラリを使用する場合は、カスタムトピックはThemeを継承する必要があります.AppCompatトピック(またはそのサブトピック).例:
このトピックには、2つの異なる
レイアウトの上端を指定
action barがオーバーラップモードを有効にすると、表示されるべきレイアウトが遮断される可能性があります.これらのレイアウトが常にaction barの下部にあることを確認するには、actionBarSizeプロパティを使用して、上部の外側または上部の内側のエッジの高さを指定します.例:
ActionbarでSupportライブラリを使用する場合は、
この場合、プレフィックスなしの
変換元:http://hukai.me/android-training-course-in-chinese/basics/actionbar/overlaying.html
原文:http://developer.android.com/training/basics/actionbar/overlaying.html
ActionBarオーバーライドオーバーラップ
デフォルトでは、action barはactivityウィンドウの上部に表示され、他のレイアウトの有効なスペースが少し減少します.ユーザインタラクション中にaction barを非表示にして表示する場合は、ActionBarのhide()とshow()を呼び出すことで実現できます.ただし、activityは新しい寸法に基づいて計算を再現し、レイアウトを再描画します.
action barの非表示と表示中にレイアウトを調整しないように、action barのオーバーラップモードを有効にします.オーバーラップモードでは、使用可能なすべてのスペースがレイアウトに使用され、action barがレイアウトにオーバーラップします.これにより、レイアウトの上部が遮断されますが、action barが非表示または表示になった場合、システムはレイアウトを調整する必要はなく、シームレスな移行を必要としません.
ヒント:action barの下のレイアウト部分を表示したい場合は、図1に示すように、背景部分が透明なカスタムスタイルのaction barを作成できます.Actionbarの背景を定義する方法については、ActionBarのスタイル化を参照してください.
図1.オーバーラップモードでのgallery action bar
オーバーレイモードを有効にする
Actionbarのオーバーラップモードを有効にするには、既存のaction barトピックに継承され、
android:windowActionBarOverlay
プロパティの値をtrue
に設定するトピックをカスタマイズする必要があります.Android 3.0以上のみ対応
minSdkValersonが
11
以上の場合、カスタムトピックはThemeを継承する必要があります.Holoトピック(またはそのサブトピック).例:<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme" parent="@android:style/Theme.Holo"> <item name="android:windowActionBarOverlay">true</item> </style>
</resources>
Android 2.1以上をサポート
Android 3.0以下で動作するデバイスと互換性のためにSupportライブラリを使用する場合は、カスタムトピックはThemeを継承する必要があります.AppCompatトピック(またはそのサブトピック).例:
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme" parent="@android:style/Theme.AppCompat"> <item name="android:windowActionBarOverlay">true</item> <!-- Support library compatibility --> <item name="windowActionBarOverlay">true</item> </style>
</resources>
このトピックには、2つの異なる
windowActionBarOverlay
仕様定義が含まれていることに注意してください.1つはandroid:
接頭辞を持ち、もう1つは持っていません.プレフィックス付きはこの仕様を含むAndroidバージョンに適用され、プレフィックスなしはSupportライブラリから仕様を読み込む古いバージョンに適用されます.レイアウトの上端を指定
action barがオーバーラップモードを有効にすると、表示されるべきレイアウトが遮断される可能性があります.これらのレイアウトが常にaction barの下部にあることを確認するには、actionBarSizeプロパティを使用して、上部の外側または上部の内側のエッジの高さを指定します.例:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="?android:attr/actionBarSize">
...
</RelativeLayout>
ActionbarでSupportライブラリを使用する場合は、
android:
接頭辞を削除する必要があります.例:<!-- Support library compatibility -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="?attr/actionBarSize">
...
</RelativeLayout>
この場合、プレフィックスなしの
?attr/actionBarSize
は、Android 3.0以降のすべてのバージョンに適しています.変換元:http://hukai.me/android-training-course-in-chinese/basics/actionbar/overlaying.html