我在我的活动中制作了循环进度条。它运作良好。但是当进度条关闭时,它会从进度条中留下一些残差,如图所示。我想我需要刷新进度条,这样我才能再次回到干净的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);
}
}
}
}
答案 0 :(得分:0)
我可以将airport_menuRefresh
可见性设置为关闭以将其删除。
感谢