我想要实现的是我在操作栏中有一个刷新按钮,当我按下此刷新按钮刷新提要时,我想要一个进度条(圆圈)代替刷新按钮。
我能够实现这一点
使用:
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarIndeterminateVisibility(true);
setProgressBarIndeterminateVisibility(false);
但我需要的是刷新按钮替换为进度圈。
答案 0 :(得分:0)
过去我实施了以下内容:
您可以使用以下代码:
@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);
}
}
结果是: