ActionBarに不確定なProgressBarを配置しようとしています。たとえば、actionViewを使用して、Google +アプリのようなprogressBarを配置していました。
<item
Android:id="@+id/menu_progress"
Android:actionLayout="@layout/action_progress"
Android:menuCategory="container"
Android:showAsAction="always">
</item>
問題は、プログレスバーがアイテムと見なされるため、Nexus Sポートレートモードではアクションバーに他のアイテムが1つしかなく、Google +では2つのアイテムとprogressBarが表示されることです。 Androidアクションバーを使用してプログレスバーを配置するにはどうすればよいですか?
電話する必要があります
_requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS)
_
アクティビティのレイアウトを設定する前にonCreate()
で:
例えば.
_@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
... // set layout etc
_
support library を使用している場合、requestWindowFeatureをsupportRequestWindowFeature
そして、呼び出します
_setProgressBarIndeterminateVisibility(true);
_
プログレススピナーを表示したいときはいつでもアクティビティで。
私の状況では、Androidサポートライブラリバージョン4を使用して、フラグメントからプログレスバーを更新する必要がありました。
私の「MainActivity extends ActionBarActivity」では、Jokeefeが示唆しています。
supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
前
setContentView(R.layout.activity_main);
私のフラグメントの長期実行タスクでは:
onPreExecute
actionBarActivity.setSupportProgressBarIndeterminateVisibility(true);
onPostExecute
actionBarActivity.setSupportProgressBarIndeterminateVisibility(false);
menu.clear();
actionBarActivity = (ActionBarActivity)getActivity();
actionBarActivity.supportInvalidateOptionsMenu();
これがOPに答えるかどうかはわかりませんが、これは上記の投稿に基づいて私のために働いたものです。お役に立てれば。