我想要实现的是我在 actionbar 中有一个刷新按钮,当我按下这个刷新按钮来刷新提要时,我想要一个进度条(圆圈)来代替刷新按钮。
我能够实现这个
使用:
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarIndeterminateVisibility(true);
setProgressBarIndeterminateVisibility(false);
但我需要的是用进度圈替换刷新按钮。
最佳答案
过去我已经实现了以下内容:
- 操作栏中的刷新按钮。
- 当用户按下刷新按钮时, View 是动画的
- 以编程方式停止
您可以使用以下代码:
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
refresh = menu.add(0, R.string.menu_refresh, Menu.FIRST, getResources().getString(R.string.menu_refresh));
refresh.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
final ImageView iv = new ImageView(this);
iv.setImageResource(R.drawable.ic_action_refresh, this));
iv.setClickable(true);
iv.setOnClickListener(this);
refresh.setActionView(iv);
return true;
}
@Override
public void onClick(final View v) {
startAnimation();
loadData();
}
private void startAnimation() {
if (refresh == null) {
return;
}
refresh.getActionView().setEnabled(false);
final Animation animation = AnimationUtils.loadAnimation(this, R.anim.clockwise_rotation);
animation.setRepeatCount(50);
refresh.getActionView().startAnimation(animation);
}
private void stopAnimation() {
if (refresh == null) {
return;
}
final View v = refresh.getActionView();
if (v.getAnimation() != null) {
v.getAnimation().cancel();
v.setEnabled(true);
}
}
结果是:
关于android - 如何在操作栏中显示进度条,代替其他操作栏项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20582736/