23

アクティビティのパラメータ " " が " " に設定されている場合、 AndroidActionBarは上下のバーに分割される場合があります。このパラメータは ICS でのみ有効であることに注意してください。uiOptionssplitActionBarWhenNarrow

Honeycomb は、アクション バーを使用してリスト アイテムを複数選択する新しいアプローチを導入しました。項目を長押しすると、リストが複数選択モードになり、アクションバー バーを使用していくつかのアクションを実行できます。アクションバーの設定はリスト アクティビティから継承されます。つまり、アクティビティに分割アクション バーがある場合は複数選択にもあり、アクティビティにトップ バーしかない場合、複数選択はそれに準拠します。

問題は、アクティビティに一番上のアクション バーのみを表示し、リストが複数選択モードになったときにプログラムでアクション バーを分割することは可能かということです。

ありがとう!

4

5 に答える 5

26

いいえ、分割アクション バーと非分割アクション バーをその場で切り替えることはできません。

に対応するセッターandroid:uiOptionsは onWindowではなくonActivityです。Window#setUiOptionsはメソッドで、使用するフラグは ですActivityInfo#UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW

ただし、これはあなたが望むことをするつもりはありません。ウィンドウ装飾が初期化される前にウィンドウが最初に構成されるため、狭い場合にアクションバーを分割する必要があります。つまり、ウィンドウが表示されてから (または を呼び出したsetContentView後でも)、ウィンドウを変更するには遅すぎます。

これは、Android UX チームによる意識的な決定でした。アクション モード (選択モードを含む) は、現在のアクティビティのアクション バーの構成を反映することを目的としています。これにより、ユーザーは、同じアクティビティ内で現在有効なアクションを探すための単一の場所を得ることができます。

于 2011-11-26T18:52:55.120 に答える
2

私はそうは思いません。Activityに対応するセッターとして機能するものは何も見当たりませんandroid:uiOptions

于 2011-11-25T17:21:12.663 に答える
1

AppCompat パッケージは、ツールバー ウィジェットを提供するようになりました。これを使用すると、アクションバーをレイアウト内の任意の場所に配置して、他のビューと同様に変更できます。

完全なドキュメントはこちら、ガイドはこちらをご覧ください。

于 2014-11-14T06:56:19.517 に答える