2012-01-29 17 views
19

ActionBarにタブを追加すると、ポートレートモードの電話機のActionBarが余分に積み重ねられます。これが起こったかどうかを調べる簡単な方法はありますか?ActionBarが積み重なっているかどうかを調べる

私はYouTubeアプリのスクリーンショットを2つ添付しました。最初のものはタブがある通常のActionBarを示し、2番目のタブは積み重ねたタブを示していますActionBar

Youtube App (landscape) Youtube App (portrait)

答えて

1

この動作はスプリットアクションバーと呼ばれています。 AndroidManifestがまたは<application>要素にuiOptions="splitActionBarWhenNarrow"で設定されている場合に発生します。

Androidは、現在の画面サイズに基づいてさまざまな方法でアクションバーの外観を調整します。分割アクションバーを使用すると、アクションバーを使用して異なる画面サイズのユーザーエクスペリエンスをさらに最適化できるようにすることができます。その際、アクションバーを使ってナビゲーションタブをメインアクションバーに折り畳むこともできます。つまり、アクションバーでナビゲーションタブを使用すると、操作項目が狭い画面で分離されると、ナビゲーションタブはメインのアクションバーに収まるようになり、「スタックアクションバー」に分割される可能性があります。

Mock-ups of split action bar with navigation tabs on the left; with the app icon and title disabled on the right.

あなたは詳細hereを得ることができます。

+1

これは私が求めているものではありません。あなたの記事の一番下にあるリンクから引用してください:「分割アクションバーを有効にすると、*画面の下部に別のバーが表示され、アクティビティが狭い画​​面で実行されているときにすべてのアクション項目が表示されます指向性ハンドセット)。 – Julian

+1

Stacked ActionBarはSplit ActionBarとは異なるものです。詳細は、その答えで参照されている同じリンク上にあります。 – MSquare

2

アクションバーには、1つまたは2つの行がisの高さであるかどうかを調べることができます。メソッドgetHeight()がありますが、onCreateまたはonStartでは機能しません。アクティビティが既に開始されている場合にのみ、実際の値を返します。

アクションバーの高さ方向の高さは、40dip(異なる画面では80/60/40/30ピクセル)、タブ付きの縦向きでは96dp(192/144/96/72ピクセル)です。

これに頼るのは最善の方法ではありませんが、タブがアクションバー内にあるかどうかを確認する方法は他にありません。

-2

私はタブを使用することなく、下部のActionBarでInstagramと同様のactionBarを作成しました。このイメージを見てください。 10分前に別の質問でこの関連質問に回答しました。 CustomView ActionBar And Fake Bottom ActionBar これを行うには、3つの別々のレイアウトを作成する必要があります。 1つは下部にInclude、もう1つはActionBarとして使用するActionBarビューとして使用するには

私の最新の回答を確認すると、私はこれをどうやって見つけたでしょうか。とにかくあなたに恩恵を受けるという希望は です。歓声

関連する問題