0

以前、Android ActionBar について同様の質問をしたことがあります: Change ActionBar Tabs background color

私はまだ質問への答えを持っていません: いつ 2 ライン デザインを使用しますか? タブ バーにカスタム ディバイダーを設定し、水平レイアウトでも使用しています。ただし、方向/画面サイズなどに基づいてドローアブル/スタイルを作成するには、どのレイアウトがいつ使用されているかを知る必要があります。Android ソースを見ると、両方のレイアウトに同じドローアブルを使用しているように見えるので、あまり役に立ちません。タブ ビューのフォントの色を変更する場合も、同じ問題が発生します。

どの形式が使用されているかはコードで決定されるのではないかと心配しているので、これを回避する方法は実際にはありません。誰でもこれを確認できますか?または、アクションバーが1行か2行かをコードで確認する方法は少なくともありますか?

4

1 に答える 1

2

Androidは、画面サイズ/向きが狭いと判断した場合(縦向きの通常サイズの画面や、向きに関係なく小さいサイズの画面など)、アクションバーの下にタブを積み重ねます。同様に、タブが多数ある場合は、アクションバーに最適に収まるように、タブがドロップダウンリストとして表示される場合があります。

アクションバーは、適応性の高いUIコントロールです。ナビゲーションモードを使用する場合は、それらの構成を予測したり、それぞれに固有のスタイルを適用したりしないことを強くお勧めします。基本アクションバーの高さも向きや画面サイズによって異なるため、タブドローアブルは常に9パッチである必要があります(横向きでは高さがわずかに小さいことに注意してください)。

getHeight()そうは言っても、そのメソッドを使用して、実行時にアクションバーの高さを照会できます。SDKに含まれているこのHoneycombGalleryの例では、の一連のロジックを使用しOnGlobalLayoutListenerて、フラグメントレイアウトがさまざまなアクションバーのサイズに適切に応答するようにしています。

于 2012-07-09T22:27:27.837 に答える