【问题标题】:Circular progressbar圆形进度条
【发布时间】:2013-03-05 11:08:36
【问题描述】:

我想创建一个圆形进度条,如下图所示



我不知道创建这个进度条的方法是什么。而且我不知道应该准备什么资产。

【问题讨论】:

标签: android android-animation android-progressbar android-assets


【解决方案1】:

看看这个样本你会在这里有很好的样本:

Todd-Davies | ProgressWheel

它将如下图所示。

希望这会对您有所帮助。

【讨论】:

  • 嗨,这工作正常我正在实现 ontouch 方法,我在 MotionEvent.ACTION_MOVE 中调用 incrementProgress(),但我需要前进和后退,如何做到这一点请帮助我..
  • 嗨 itsrajesh,这段代码非常好……我需要对这段代码进行一些更改。我想更改圆圈进度的颜色。我做不到。我想要什么,在运行时,当进度超过特定百分比时,我需要更改圆形栏颜色..如果可能请帮助我..
【解决方案2】:

我认为您可以使用 ArcView Link

它会帮助你。

【讨论】:

    【解决方案3】:

    试试下面的链接..我会对你有所帮助..我们需要自定义视图来创建一个新的..我们可以添加库项目并使用视图而不是自定义我们自己的视图..

    关注这个库项目,

    http://www.androidviews.net/2013/03/holo-circular-progressbar/

    http://www.androidviews.net/2013/02/circular-seekbar/

    这用于自定义我们自己的视图,

    http://www.vogella.com/articles/AndroidCustomViews/article.html

    【讨论】:

      【解决方案4】:

      尝试这种方法来绘制位图并将其设置为图像视图。在对话框中使用它来创建循环进度对话框。

      private void circularImageBar(ImageView iv2, int i) {
      
      
          Bitmap b = Bitmap.createBitmap(300, 300,Bitmap.Config.ARGB_8888);
          Canvas canvas = new Canvas(b); 
          Paint paint = new Paint();
      
              paint.setColor(Color.parseColor("#c4c4c4"));
              paint.setStrokeWidth(10);
              paint.setStyle(Paint.Style.STROKE);
              canvas.drawCircle(150, 150, 140, paint);
      
              paint.setColor(Color.parseColor("#FFDB4C"));
              paint.setStrokeWidth(10);   
              paint.setStyle(Paint.Style.FILL);
              final RectF oval = new RectF();
              paint.setStyle(Paint.Style.STROKE);
              oval.set(10,10,290,290);
      
              canvas.drawArc(oval, 270, ((i*360)/100), false, paint);
              paint.setStrokeWidth(0);    
              paint.setTextAlign(Align.CENTER);
              paint.setColor(Color.parseColor("#8E8E93")); 
              paint.setTextSize(140);
      
              canvas.drawText(""+i, 150, 150+(paint.getTextSize()/3), paint); 
      
              iv2.setImageBitmap(b);
      }
      

      【讨论】:

        【解决方案5】:

        您可以通过创建自定义视图来做到这一点。关于资产,我想您需要的只是一些颜色代码。创建一个类扩展 View 。添加方法 setProgress(int) 。在 OnDraw() 中绘制一个实心圆。以及从 0 到 _progress 的一条弧线。中心的drawText进度。您可以轻松找到示例代码。搜索它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-04-08
          • 2015-08-13
          • 2022-01-17
          • 1970-01-01
          • 1970-01-01
          • 2020-12-21
          相关资源
          最近更新 更多