Android 自定义 斜线进度框 ,雨点式背景
2015-10-22 15:29
681 查看
import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.View; import java.util.Random; /** * 斜线进度条 * author : stone * email : aa86799@163.com * time : 15/10/22 11 11 */ public class ObliqueProgressbar extends View { private Paint mPaint; private float mProgress; public ObliqueProgressbar(Context context) { this(context, null); } public ObliqueProgressbar(Context context, AttributeSet attrs) { this(context, attrs, 0); } public ObliqueProgressbar(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); mPaint = new Paint(); mPaint.setAntiAlias(true); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); if (mProgress == 0) return; //碎片雨 mPaint.setColor(Color.parseColor("#a96ecb")); mPaint.setStrokeWidth(3); Random random = new Random(); int sx, sy; for (int i = 0; i < 200; i++) { sx = random.nextInt(getWidth() + 10); sy = random.nextInt(getHeight() + 10); // canvas.drawLine(sx, sy, sx+random.nextInt(5), sy+random.nextInt(5), mPaint); canvas.drawCircle(sx, sy, random.nextInt(5) + 1, mPaint); } //进度 mPaint.setColor(Color.parseColor("#6AFFFFFF")); mPaint.setStrokeWidth(15); float x = mProgress * getWidth(); for (int i = 0; i < x; i += 30) { canvas.drawLine(i - 30, -10, i + 30, getHeight() + 10, mPaint); } } public void setProgress(float progress) { this.mProgress = progress; invalidate(); } }
相关文章推荐
- Android用ImageView显示本地和网上的图片
- 详解Android中AsyncTask的使用
- adb logcat命令查看并过滤android输出log
- android 获取屏幕属性
- java.lang.NullPointerException at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked()
- Android实现头部切换页(Fragment+viewPager)
- Androd layout_weight的真正含义
- Android之monkey Test,Monkey测试中的黑名单和白名单,Monkey测试中的黑名单和白名单
- Android Butterknife框架基本使用教程
- android控件的对齐方式,控件布局(顶部、底部)留着自用~~~
- android BitmapFactory.Options参数介绍
- android内存泄露-总结
- 《第一行代码Android》学习日记5
- Android 学习笔记之Volley开源框架解析
- android 字符串加解密算法
- android系统日期时间的获取
- Android 学习笔记之Volley开源框架解析(三)
- 《第一行代码Android》学习日记4
- Android开发总结笔记 四大组件之ContentPovider(上) 1-2-8
- JustifyTextView 解决TextView中英文混排排版问题,android文字排版不齐,