在ActionBar上放置一个progressBar

我试图把一个不确定的ProgressBar放在actionBar上。 例如,我正在使用actionView将progressBar放入Google+应用中。

<item android:id="@+id/menu_progress" android:actionLayout="@layout/action_progress" android:menuCategory="container" android:showAsAction="always"> </item> 

问题是,进度条被视为一个项目,因此在Nexus S肖像模式下,我只有一个在Google+上的其他项目,我可以看到两个项目加上progressBar。 怎么可能把一个进度条使用android操作栏?

注意: 下面的function现在在支持库中已弃用。

你需要打电话

 requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS) 

在你的onCreate() 设置活动的布局之前

例如

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); ... // set layout etc 

如果使用支持库, 使用supportRequestWindowFeaturereplacerequestWindowFeature

然后打电话

 setProgressBarIndeterminateVisibility(true); 

在你的活动,每当你想显示进度微调。

我的情况需要使用Android支持库版本4从片段更新进度条。

在Jokeefebuild议的“MainActivity extends ActionBarActivity”中:

 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,但这是基于上述职位的工作。 希望这可以帮助。

我find了一个最简单的方法来显示你的需要。 我在这里find了 只需使用一个类,并将您的进度栏放在任何你想要的地方。