1

アクションバーの更新メニュー項目の代わりにプログレスバーを表示しようとしています。ただし、現在更新ボタンを押すと消えますが、更新ボタンがあった場所に表示されるのではなく、進行状況バーがアクションバーのタイトルに置き換わります。

これらは私の2つの.xmlファイルです:

  • メニュー項目:

    <item android:id="@+id/menu_refresh"
        android:icon="@drawable/ic_menu_refresh"
        android:visible="true"
        android:orderInCategory="0"
        android:showAsAction="ifRoom|collapseActionView"
        android:actionLayout="@layout/action_progress_bar"
        android:title="@string/refresh"
        android:titleCondensed="@string/refresh"/>
    
  • プログレスバーのレイアウト:

    <?xml version="1.0" encoding="utf-8"?>
    <ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="32dp"
        android:layout_height="32dp" >
    </ProgressBar>
    
4

2 に答える 2

2

私は問題が何であるかを知りました。メニュー項目の代わりにプログレスバーを表示するには、collapseActionViewフラグがないようにする必要があります。それを削除し、ロジックをコードに移動すると(簡単なsetActionViewメソッドを使用するとともに)、トリックが実行されました

于 2013-01-04T00:17:22.853 に答える
0

これはデフォルトのactionLayoutの動作であり、変更することはできません。代わりに、ボタンのクリックを処理したり、コードからバーアイテムを置き換えたりするようなことを試すことができます。

アップデート:

ActionBarCompatサンプルプロジェクトを見てください。(新しいプロジェクト/ Androidサンプルプロジェクト)。

于 2013-01-01T20:10:33.980 に答える