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

Mar*_*k D 8 java user-interface android

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

MIUI文件浏览器应用程序

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

  • 将许多进度条分层,透明背景彼此叠加
  • 扩展Progress bar类以获取多个值并重写onDraw方法

我认为第一种选择太慢而且效率低,但第二种选择可能过于复杂,但绝对是更好的解决方案.

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

Zel*_*ion 6

你应该为它做一个自定义视图.例:

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);
Run Code Online (Sandbox Code Playgroud)