13

アプリのアクションバーの外観をカスタマイズしようとすると、少し問題が発生します。多くのネイティブアプリ(Gmail、カレンダーなど)に表示されるアクションバーアイテムをグループ化するために、ピクセル幅の仕切りを使用できるようにしたいと考えています。メニュー項目を追加し、「android:actionLayout」属性を仕切りのカスタムレイアウトに設定することで、これを行う方法を見つけました。

<View
  android:background="@color/LightGray"
  android:layout_marginTop="5dip"
  android:layout_marginBottom="5dip"
  android:layout_width="1dip"
  android:layout_height="fill_parent" />

これはうまく機能しますが、問題はメニュー項目としてカウントされ、アクションバーがメニュー項目の数を4つに制限しているように見えることです-他のものはオーバーフローメニューにプッシュされます。

だから私が求めているのは、カスタムビューのメニューアイテムを使用せずに、アクションバーアイテムの制限にカウントされない方法でアイテムの仕切りを追加する標準的な方法があるかどうかです。

前もって感謝します!

4

3 に答える 3

11

アプリがプラットフォームと矛盾するため、システムが自動的に追加しない場所に仕切りを強制しようとはしません。デフォルトの動作は次のとおりです。

  • オーバーフローとその他の間の仕切り。
  • テキストがどのアイテムに属しているかを明確にする、テキストと別のアイテムとの間の仕切り。
于 2011-08-11T11:00:01.607 に答える
3

標準的な方法は見つかりませんでしたが、私が行った方法はandroid:actionLayout、メニュー項目のプロパティを使用して、そこに仕切りを配置することでした。

于 2011-08-08T22:47:23.587 に答える
2

Google が 3.0 SDK をリリースしたとき、ActionBar がどのように機能するかを確認するための簡単なデモ アプリを入手しました。振り返ってみると、アイコン ドローアブルなしでテキスト アイテムを使用すると、自動的に仕切りが描画されます。

私の menu.xml ファイルは次のようなものです:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" />
  <item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" />
  <item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" />
  <item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" />
</menu>

多分これはアイコンでは動作しませんか??

というか、考えてみればアイコンの大きさが影響しているのではないでしょうか?

于 2011-06-16T14:39:37.410 に答える