ActionBar
にタブを追加すると、ポートレートモードの電話機のActionBar
が余分に積み重ねられます。これが起こったかどうかを調べる簡単な方法はありますか?ActionBarが積み重なっているかどうかを調べる
私はYouTubeアプリのスクリーンショットを2つ添付しました。最初のものはタブがある通常のActionBar
を示し、2番目のタブは積み重ねたタブを示していますActionBar
。
ActionBar
にタブを追加すると、ポートレートモードの電話機のActionBar
が余分に積み重ねられます。これが起こったかどうかを調べる簡単な方法はありますか?ActionBarが積み重なっているかどうかを調べる
私はYouTubeアプリのスクリーンショットを2つ添付しました。最初のものはタブがある通常のActionBar
を示し、2番目のタブは積み重ねたタブを示していますActionBar
。
この動作はスプリットアクションバーと呼ばれています。 AndroidManifest
がまたは<application>
要素にuiOptions="splitActionBarWhenNarrow"
で設定されている場合に発生します。
Androidは、現在の画面サイズに基づいてさまざまな方法でアクションバーの外観を調整します。分割アクションバーを使用すると、アクションバーを使用して異なる画面サイズのユーザーエクスペリエンスをさらに最適化できるようにすることができます。その際、アクションバーを使ってナビゲーションタブをメインアクションバーに折り畳むこともできます。つまり、アクションバーでナビゲーションタブを使用すると、操作項目が狭い画面で分離されると、ナビゲーションタブはメインのアクションバーに収まるようになり、「スタックアクションバー」に分割される可能性があります。
あなたは詳細hereを得ることができます。
アクションバーには、1つまたは2つの行がisの高さであるかどうかを調べることができます。メソッドgetHeight()
がありますが、onCreate
またはonStart
では機能しません。アクティビティが既に開始されている場合にのみ、実際の値を返します。
アクションバーの高さ方向の高さは、40dip
(異なる画面では80/60/40/30ピクセル)、タブ付きの縦向きでは96dp(192/144/96/72ピクセル)です。
これに頼るのは最善の方法ではありませんが、タブがアクションバー内にあるかどうかを確認する方法は他にありません。
私はタブを使用することなく、下部のActionBarでInstagramと同様のactionBarを作成しました。このイメージを見てください。 10分前に別の質問でこの関連質問に回答しました。 これを行うには、3つの別々のレイアウトを作成する必要があります。 1つは下部に
Include
、もう1つはActionBarとして使用するActionBarビューとして使用するには
私の最新の回答を確認すると、私はこれをどうやって見つけたでしょうか。とにかくあなたに恩恵を受けるという希望は です。歓声
これは私が求めているものではありません。あなたの記事の一番下にあるリンクから引用してください:「分割アクションバーを有効にすると、*画面の下部に別のバーが表示され、アクティビティが狭い画面で実行されているときにすべてのアクション項目が表示されます指向性ハンドセット)。 – Julian
Stacked ActionBarはSplit ActionBarとは異なるものです。詳細は、その答えで参照されている同じリンク上にあります。 – MSquare