Android 环形进度条Demo

Android 环形进度条Demo

下面是效果图:
这里写图片描述

下面是主要代码:

/**
 * 自定义环形进度条
 * Created by Administrator on 2016/6/13.
 */
public class RoundProgressBar extends View {

    // 画圆环的画笔
    private Paint mRingPaint;
    // 圆心x坐标
    private int mXCenter;
    // 圆心y坐标
    private int mYCenter;
    // 总进度
    private int mTotalProgress = 100;
    // 当前进度
    private int mProgress = 0;
    // 圆环宽度
    private int mRingWidth = 50;
    // 圆环半径
    private int mRingRadius = 80;
    // 圆环颜色
    private int mRingColor = 0xFF00FF00;

    public RoundProgressBar(Context context) {
        super(context);
        //初始化
        init();
    }

    public RoundProgressBar(Context context, AttributeSet attrs) {
        super(context, attrs);
        //初始化
        init();
    }

    public RoundProgressBar(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        //初始化
        init();
    }

    /**
     * 初始化
     */
    private void init() {
        // 新建画笔对象
        mRingPaint = new Paint();
        // 抗锯齿
        mRingPaint.setAntiAlias(true);
        // 设置画笔颜色
        mRingPaint.setColor(mRingColor);
        // 设置画笔样式(描边)
        mRingPaint.setStyle(Paint.Style.STROKE);
        // 设置画笔宽度
        mRingPaint.setStrokeWidth(mRingWidth);
    }

    /**
     * 画图
     * @param canvas
     */
    @Override
    protected void onDraw(Canvas canvas) {

        mXCenter = getWidth() / 2;
        mYCenter = getHeight() / 2;

        if (mProgress > 0) {
            RectF oval = new RectF();
            oval.left = (mXCenter - mRingRadius);
            oval.top = (mYCenter - mRingRadius);
            oval.right = mRingRadius * 2 + (mXCenter - mRingRadius);
            oval.bottom = mRingRadius * 2 + (mYCenter - mRingRadius);
            canvas.drawArc(oval, -90, ((float) mProgress / mTotalProgress) * 360, false, mRingPaint);
        }
    }

    /**
     * 设置进度,更新 View
     */
    public void setProgress(int progress) {

        mProgress = progress;

        // 在ui线程中使用
        invalidate();

        // 在非ui线程中使用
        // postInvalidate();
    }

}

源码地址:http://download.csdn.net/download/haiger_xxx/9576222

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android视频播放器Demo是一个演示Android平台上如何实现视频播放功能的应用程序。它具有以下几个主要特点和功能。 首先,Android视频播放器Demo可以播放各种常见的视频格式,如MP4、AVI、FLV等。它使用了Android自带的MediaPlayer类来实现视频的解码和播放。用户只需选择一个视频文件,点击播放按钮,即可开始播放。 其次,Android视频播放器Demo提供了一些基本的播放控制功能。用户可以通过界面上的按钮来暂停、继续播放,调节音量和亮度等。此外,还支持手势控制,用户可以在屏幕上滑动来调整播放进度和屏幕亮度。 另外,Android视频播放器Demo还提供了全屏播放和窗口播放两种模式。在全屏模式下,视频会占据整个屏幕,用户可以更好地享受视频内容。而在窗口模式下,用户可以随时切换到其他应用程序,同时仍然可以继续观看视频。 此外,Android视频播放器Demo还提供了一些定制化的功能。用户可以自定义播放界面的主题和颜色,以适应个人的喜好。同时,还内置了一些视频播放常用的功能,如播放列表、循环播放等,以提供更好的用户体验。 总结来说,Android视频播放器Demo是一个功能齐全、易于使用的应用程序,可以帮助开发者快速了解Android平台上视频播放的实现方式。通过观看和修改Demo的源代码,开发者可以进一步掌握视频播放相关的知识和技术,从而在自己的应用程序中实现高质量的视频播放功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值