是否可以显示进度指示器(使用requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS)代替刷新按钮显示的指示器?
这个想法是像Gmail客户端一样工作的:当不加载时,显示刷新按钮,当加载时,在刷新按钮的位置显示不确定的微调器
发布于 2012-09-04 05:24:03
是的,这样做很容易。
private MenuItem refresh;
.
.
.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.options_menu, menu);
// refresh menu item
refresh = menu.findItem(R.id.refresh_option_item);
return super.onCreateOptionsMenu(menu);
}你必须得到你的刷新菜单项,然后,你可以启用旋转项目,如下所示:
refresh.setActionView(R.layout.actionbar_indeterminate_progress);当您的任务完成后,您可以禁用旋转,如下所示:
refresh.setActionView(null);最后,actionbar_indeterminate_progress.xml可以是这样的:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="64dp"
android:layout_height="wrap_content"
android:gravity="center">
<ProgressBar android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="center"
style="?android:attr/indeterminateProgressStyle" />
</FrameLayout>发布于 2012-08-05 22:49:59
您可以尝试执行以下操作:将刷新按钮和不确定微调器都放入FrameLayout中,以便这两个微调器堆叠在z平面上,在屏幕上的相同位置显示。然后你只需要玩弄能见度。如果要显示刷新按钮,请将微调器设置为不可见,并将按钮设置为可见。如果要显示微调器,请将其设置为可见,并将按钮设置为不可见。
https://stackoverflow.com/questions/10676517
复制相似问题