在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了 只需使用一个类,并将您的进度栏放在任何你想要的地方。
- 如何强制在android操作栏compat溢出菜单?
- 导入HoloEverywhere时出错
- ActionBarSherlock – typesandroid.support.v4.app.Fragment无法parsing。 它是从所需的.class文件间接引用的
- 设置Slidemenu – 示例不工作
- 在Android Studio中导入ActionBarsherlock时,Gradle位置错误
- ActionBarSherlock堆叠的行动酒吧造型问题
- 使用ActionBar Sherlock的首选项屏幕
- 为Android应用程序设置ActionBarSherlock主题
- 在ActionBarSherlock强制溢出菜单