`

绘制最简单的进度条

 
阅读更多
在许多项目中会用到进度条,大多数时候都需要根据客户的需求都不会采用系统默认的进度条。
比如进入一个软件时碰到的动画界面,这个可以用animation实现:
<?xml version="1.0" encoding="utf-8"?>
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
androidneshot="false">
<item android:drawable="@drawable/loading01" android:duration="200"/>
<item android:drawable="@drawable/loading02" android:duration="200"/>
<item android:drawable="@drawable/loading03" android:duration="200"/>
</animation-list>
用一帧帧的图片拼成。
  但是如果这个进度条需要根据加载的实际情况而进行改变时,animation明显不实用了。
最简单的方式:
       //barAboveBitmap 是要绘制的进度条,可以用一张进度条图片;progress 为具体进度 progressBg为ImageView,可以
     //为它设置一个比进度条图片稍微大点的背景,这样两者配合起来就像一个完整的进度条了
  //也可以结合RelativeLayout相互组件之间可以覆盖的特性给进度条加个显示进度的数字
       int width = barAboveBitmap.getWidth();
       int height = barAboveBitmap.getHeight();
       Bitmap barBitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
        // 画进度条
        Canvas canvas = new Canvas(barBitmap);
        Path path = new Path();
        path.moveTo(0, 0);
        path.lineTo(width * progress / 100, 0);
        path.lineTo(width * progress /  100, height);
        path.lineTo(0, height);
        canvas.clipPath(path);
        canvas.drawBitmap(barAboveBitmap, 0, 0, barPaint);
        progressBg.setImageBitmap(barBitmap);
分享到:
评论

相关推荐

    Android实现渐变圆环、圆形进度条效果

    原理还是绘图,Canvas可以绘制的对象有:弧线(arcs)、填充颜色(argb和color)、 Bitmap、圆(circle和oval)、点(point)、线(line)、矩形(Rect)、图片(Picture)、圆角矩形 (RoundRect)、文本(text)、顶点(Vertices)、...

    自定义View系列之kotlin绘制手势设置温度控件的方法

    引言 最近公司接了一个车联网的项目,主要是新能源汽车的一些控制功能,其中涉及到一个是温度的调节功能,产品的意思是做一个手势滑动调节温度,大概意思我是明白的。... 然后根据划过的角度绘制进度条 最后根绝touch事

    EDraw Max(亿图图示专家) v7.9.zip

    5)绘图过程比用纸笔画图更简单方便和精准,提供统一排版、图层控制等格式设置,让您轻松完成各类专业的流程图、网络图、软件设计图等。 6)基本绘图工具让您可以通过直线、曲线、弧线、矩形和椭圆工具等元素绘制...

    Python(2,3)+Opencv+wxPython界面,显示图像,鼠标交互画矩形截图

    1、实现的跨平台Python+wxPython界面,程序中添加了OpenCV代码进行简单的图像处理(截图),适合新手借鉴,利用wxPython库进行Python界面制作,如何在Python中调用OpenCV进行图像处理。 2、代码可以在Linux和Windows...

    安卓开发--Android连连看游戏源码(附赠参考实验报告).zip

    是一个非常简单的工具类,用于封装两个方块之间的连接信息——其实就是封装一个List,List中保存了连接线需要经过的点。连连看游戏规则:两个方块最多只能用3条线段相连,也就是说最多只能有2个拐点,加上两个方块...

    matlab应用百例-matlab实用程序百例.rar

    实例80:进度条的使用 例81:MRI数据的显示 实例82:图像类型转换 实例83:特殊的图像显示技术 实例84:图像的几何操作 实例85:拉个朗日插值 例86:三次样条插值法 实例87:NEWTON插值 实例88:hermite插值...

    很实用!!!matlab实用程序100例

    实例80:进度条的使用 111 例81:MRI数据的显示 112 实例82:图像类型转换 114 实例83:特殊的图像显示技术 115 实例84:图像的几何操作 117 85-100是:数值分析篇 118 常见的插值程序 118 实例85:拉个朗日插值 118...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例160 始终在桌面最顶层显示的窗体 210 7.2 设置窗体大小 211 实例161 限制窗体大小 211 实例162 根据桌面大小调整窗体大小 212 实例163 自定义最大化、最小化和关闭按钮 213 实例164 手动改变自制窗体的大小 215 ...

    Visual Basic.NET精彩编程百例 李强 源代码

    实例15 进度条控件 实例16 列表框控件 实例17 图片框控件 实例18 状态栏控件 .实例19 立体文字 实例20 工具栏控件 实例21 组合框控件 实例22 系统栏图标控件 实例23 树视图控件 实例24 列表视图控件 实例...

    150个VB新手必看的学习

    内容索引:VB源码,其它类别,VB源码 都是些简单的VB小程序源代码,因此新手朋友最好看看哦,内容涉及的比较综合。  安装和调节进度条  半透明窗体  背景渐变  播放flash动画  长短文件名格式的转换  窗体淡入...

    Visual C++ 程序开发范例宝典光盘源码 (第二版)1/7

     实例035 始终在最上面的窗体   实例036 以动画形式显示窗体   实例037 磁性窗体   1.10 窗体标题栏应用实例   实例038 闪烁的窗体标题栏   实例039 拖动没有标题栏的窗体   实例040 禁用标题栏...

    Visual C++ 程序开发范例宝典光盘源码 (第二版) 3/7

     实例035 始终在最上面的窗体   实例036 以动画形式显示窗体   实例037 磁性窗体   1.10 窗体标题栏应用实例   实例038 闪烁的窗体标题栏   实例039 拖动没有标题栏的窗体   实例040 禁用标题栏...

    Visual C++ 程序开发范例宝典光盘源码 (第二版) 6/7

     实例035 始终在最上面的窗体   实例036 以动画形式显示窗体   实例037 磁性窗体   1.10 窗体标题栏应用实例   实例038 闪烁的窗体标题栏   实例039 拖动没有标题栏的窗体   实例040 禁用标题栏...

    Visual C++ 程序开发范例宝典光盘源码 (第二版) 5/7

     实例035 始终在最上面的窗体   实例036 以动画形式显示窗体   实例037 磁性窗体   1.10 窗体标题栏应用实例   实例038 闪烁的窗体标题栏   实例039 拖动没有标题栏的窗体   实例040 禁用标题栏...

    Visual C++ 程序开发范例宝典光盘源码 (第二版) 2/7

     实例035 始终在最上面的窗体   实例036 以动画形式显示窗体   实例037 磁性窗体   1.10 窗体标题栏应用实例   实例038 闪烁的窗体标题栏   实例039 拖动没有标题栏的窗体   实例040 禁用标题栏...

    Visual C++ 程序开发范例宝典光盘源码 (第二版) 7/7

     实例035 始终在最上面的窗体   实例036 以动画形式显示窗体   实例037 磁性窗体   1.10 窗体标题栏应用实例   实例038 闪烁的窗体标题栏   实例039 拖动没有标题栏的窗体   实例040 禁用标题栏...

    Visual C++ 程序开发范例宝典光盘源码 (第二版) 4/7

     实例035 始终在最上面的窗体   实例036 以动画形式显示窗体   实例037 磁性窗体   1.10 窗体标题栏应用实例   实例038 闪烁的窗体标题栏   实例039 拖动没有标题栏的窗体   实例040 禁用标题栏...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例223 绘制简单直方图 281 实例224 一元线性回归计算 282 实例225 实数矩阵的运算 283 实例226 复数的常见运算 284 实例227 T分布常用计算 285 10.3 Commons IO组件简介 286 实例228 简化文件(夹)删除 286 实例...

Global site tag (gtag.js) - Google Analytics