我在我的活动中做了一个圆形进度条。它工作得很好。但是当进度条关闭时,它会留下一些进度条上的残留物,如图所示。我想我需要刷新进度条,这样我才能重新获得干净的操作栏。第一个图是当进度条运行时,第二个图是当进度条关闭时(圆形箭头是残差)。我的代码如下。怎样才能再次拥有干净的Action Bar?
(1) res/menu中的airport_menuRefresh.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/airport_menuRefresh"
android:icon="@drawable/ic_menu_refresh"
android:title="@string/menuitem_refresh"
android:alphabeticShortcut="r"
android:orderInCategory="1"
android:showAsAction="always" />
</menu>(2)布局中的actionbar_indeterminate_progress.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="50dp"
android:minWidth="50dp">
<ProgressBar android:layout_width="35dp"
android:layout_height="35dp"
android:layout_gravity="center"
/>
</FrameLayout>(3)菜单膨胀
public boolean onCreateOptionsMenu(Menu menu) {
this.optionsMenu = menu;
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.airport_menu, menu);
return super.onCreateOptionsMenu(menu);
}(4)打开/关闭进度条的方法
public void setRefreshActionButtonState(final boolean refreshing) {
if (optionsMenu != null) {
final MenuItem refreshItem = optionsMenu
.findItem(R.id.airport_menuRefresh);
if (refreshItem != null) {
if (refreshing) {
refreshItem.setActionView(R.layout.actionbar_indeterminate_progress);
} else {
refreshItem.setActionView(null);
}
}
}
}


发布于 2014-02-15 11:42:39
我可以将airport_menuRefresh可见性设置为off来删除它。谢谢
https://stackoverflow.com/questions/21784558
复制相似问题