android - 如何在操作栏中显示进度条,代替其他操作栏项目

标签 android android-actionbar progress-bar

我想要实现的是我在 actionbar 中有一个刷新按钮,当我按下这个刷新按钮来刷新提要时,我想要一个进度条(圆圈)来代替刷新按钮。

我能够实现这个
enter image description here

使用:

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarIndeterminateVisibility(true);
setProgressBarIndeterminateVisibility(false);

但我需要的是用进度圈替换刷新按钮

最佳答案

过去我已经实现了以下内容:

  1. 操作栏中的刷新按钮。
  2. 当用户按下刷新按钮时, View 是动画的
  3. 以编程方式停止

您可以使用以下代码:

@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);
    }
}

结果是:

enter image description here

enter image description here

enter image description here

关于android - 如何在操作栏中显示进度条,代替其他操作栏项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20582736/

相关文章:

android - 沉浸式全屏不隐藏操作栏和状态栏

Python 进度条 ValueError : Value out of range

android - 如何防止配对的蓝牙设备被其他apk连接?

java - 如何通过 soap 网络服务 (XML) 传递图像的字节数组并在 Android 设备上解码此字节数组以将其转换回图像

android - 如何使用android Wear DataApi发送相同的数据两次?

Android API 或分析图像中最常使用哪种颜色的东西?

android - Android Action bar顶部加一条细线

android - 如何检测对 ActionBar 标题的点击?

python - 带进度条的 pickle 转储

javascript - JS测量ajax完成时间