我试图在actionBar上放置一个不确定的ProgressBar。我使用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操作栏放置进度条?
答案 0 :(得分:166)
注:The functionality below is now deprecated in the Support Library.
您需要致电
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS)
在设置活动的布局之前,在onCreate()
中:
e.g。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
... // set layout etc
如果您使用support library替换 requestWindowFeature 与 supportRequestWindowFeature
然后致电
setProgressBarIndeterminateVisibility(true);
每当你想要显示进度微调器时,在你的Activity上。
答案 1 :(得分:0)
我的情况需要使用Android支持库版本4从片段更新进度条。
在我的“MainActivity扩展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问题,但根据上述帖子,这对我有用。希望这会有所帮助。
答案 2 :(得分:-1)
我找到了一个最容易显示你需要的进展的人。 I found it here 。只需使用一个班级,然后将您的进度条放在任何地方。