自定义进度条---圆形以及线条

原创 2015年11月21日 16:41:27

自定义进度条—圆形以及线条

CD:
弄了一天半终于将Android机与电脑通过usb数据线传输数据的问题给解决了,过几天将遇到的问题写出来以免下次用到时又忘了.

比较简单直接上代码:

1,自定义myProcessView
public class myProcessView extends View {

    private Paint mPaint; //画笔
    private int color;   //设置的颜色
    private String text;  // 文字显示进度
    private int mProcess = 0;    //当前进度值
    private int Max = 0;    //进度的最大值
   private double n = 3.6;  //圆形进度条要乘的弧度
    int screenWidth;    //屏幕的宽
    public myTextView(Context context) {
        this(context, null);
    }

    public myTextView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public myTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        //得到屏幕的宽
          screenWidth = getScreenWidth(context);
         //在构造方法中创建画笔
        mPaint = new Paint();

    }


    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        mPaint.setColor(Color.RED);
        mPaint.setStyle(Paint.Style.STROKE);

        RectF rect = new RectF(0, 0, 40, 40); //  坐标是相对于父布局的

        int lineProcess = (mProcess/max)*screenWidth;
        //绘制线性进度条
        canvas.drawLine(0,0,lineProcess ,0,mPaint);
        //绘制圆形进度条   
        canvas.drawArc(rect, 3, (mProcess *3.6), false, mPaint);


    }

    public void setText(String t) {
        this.text = t;
    }
     public void setMax(int max) {
        this.max= max;
    }
    public void setProcess(int pro) {
        this.mProcess = pro;
 if(mProcess > 100){
            return;
        }else{
        invalidate();

        }
        invalidate();

        }
    }
}

2,使用进度条
public class CustomActivity extends Activity {

    myProcessView myProcessView ;
    int mCount = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_custom);

        myProcessView = (com.example.custom.view.myProcessView ) findViewById(R.id.my);

  myProcessView.setMax(设置进度的最大值);  
      //一般这行代码都是在得到下载进度是调用 
  myProcessView.setProcess(当前进度); 

    }
}

备注:
圆形进度条可以使用.线性进度条有一个问题是 如果是下载文件,我们没有办法得到文件最大的值(也就是进度比无法得出),要下班了.有时间在整理.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Delphi 高手写的漂亮的 进度条控件 方便调用 共享

  • 2010-03-23 09:53
  • 6KB
  • 下载

Delphi圆形进度条—源码,

  • 2012-09-14 11:46
  • 92KB
  • 下载

自定义View实现圆形水波进度条(下)

来源:伯乐在线专栏作者 - Code4Android 链接:http://android.jobbole.com/84776/ 接上文 通过效果图,我们看到实现此效果就是不断的更新...
  • u012210186
  • u012210186
  • 2016-09-28 14:06
  • 595

Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)

很多的时候,系统自带的View满足不了我们功能的需求,那么我们就需要自己来自定义一个能满足我们需求的View,自定义View我们需要先继承View,添加类的构造方法,重写父类View的一些方法,例如o...
  • xiaanming
  • xiaanming
  • 2013-08-26 14:36
  • 174723

自定义进度条(水平,圆形)

MainActivity: package com.twac.Diy_progressbar; import android.app.Activity; import android.os.Bun...
  • T_Wac
  • T_Wac
  • 2017-02-23 23:23
  • 115

微信小程序——自定义圆形进度条

实现自定义控件,展示全部代码,并解释实现思路
  • wl1769127285
  • wl1769127285
  • 2016-12-28 17:12
  • 3162

自定义View之简单自定义圆形进度条

达到的效果如下: 从上面的效果可以看出,主要有以下几个自定义属性: 1、背景颜色 2、进度扇形颜色 3、半径 4、起始角度 因此,在attrs.xml中定义如下属性: <a...
  • liuyi1207164339
  • liuyi1207164339
  • 2017-03-06 00:42
  • 424

自定义ProgressBar(包括自定义图片,带进度的圆形进度条、长方形进度条)

ProgressBar简介 继承于View类,直接子类有AbsSeekBar和ContentLoadingProgressBar,其中AbsSeekBar的子类有SeekBar和RatingB...
  • gdutxiaoxu
  • gdutxiaoxu
  • 2016-05-31 15:20
  • 3890

Android自定义控件实现一个带文本与数字的圆形进度条

实现的效果图如下所示: 第一步:绘制下方有缺口的空心圆,称为外围大弧吧 anvas.clipRect(0, 0, mWidth, mHeight / 2 + radius - text...
  • shihui512
  • shihui512
  • 2016-05-09 22:02
  • 2107

Android 三种常用实现自定义圆形进度条 ProgressBar 及demo

Android 自定义 进度条,一般有三种方式,最早一般使用UI给的图片使用帧动画,完成,后面两种,一种是使用自定义颜色,另外一种是使用带相近色的图片加动画完成。 下面具体 说一下三种方式,推荐使用第...
  • q610098308
  • q610098308
  • 2016-12-20 11:17
  • 999
[startrelatedarticlesad1]

{relatedtitle}

{relateddes}
[endrelatedarticlesad1] [startrelatedarticlesad2] [endrelatedarticlesad2]
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)