java - 创建分段进度条的最佳方法?

标签 java android user-interface

我正在构建一个 Android 应用程序,我想创建一个与 MIUI 文件资源管理器底部非常相似的进度条

MIUI File Explorer App

据我所知,没有完全明显的解决方案。 目前我能想到的是

  • 将许多具有透明背景的进度条叠加在一起
  • 扩展进度条类取多个值并重写onDraw方法

我认为第一个选项太慢且效率低下,但第二个选项可能过于复杂,但绝对是更好的解决方案。

有没有更好的方法来解决这个问题?

最佳答案

你应该为它制作一个自定义 View 。示例:

final Paint blue = new Paint();
blue.setColor(Color.BLUE);

View progressBar = new View(getActivity()){

        protected void onDraw(android.graphics.Canvas canvas) {

            canvas.drawRect(0,0,getWidth()*progressPecentFirst,getHeight(),blue);
            blue.setColor(Color.RED);
            canvas.drawRect(0,0,getWidth()*progressPecentSecond,getHeight(),blue);
            //Repeat this
        };
    };
parentLayout.addView(progressBar);

关于java - 创建分段进度条的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10930753/

相关文章:

java - 一个初学者关于表单验证的JSF问题

java - 如何在 Android 应用程序中显示键盘?

android - Admob 不生成视觉效果

java - Dozer - 在从列表映射到列表时将对象转换为列表?

android - 有没有办法在收到推送通知时将应用程序带到前台?

android - 如何正确停止媒体播放器,android

java - 没有标题的 DialogFragment 缩小对话框宽度

java - 阻止用户在计算器中使用某些字符

java - 在 Swing 中的两个组件之间拖动

java - 如何给包名添加前缀?