最近一直在学习自定义view,写了很多例子,但是都是自己写着玩的,项目中还真没用到,这不最近项目中有个二维码扫描的功能,这个网上也很多,但是自己既然学了,自定义view,也想练习一下,就果断自己重新定义自己的二维码扫描view。看了微信的效果还不错,就完全按照微信的样式写了。效果图:
不管怎么样也是锻炼自己的一次机会:
//画笔 Paint paint; //颜色值 int transformDrak; //扫描图片 Bitmap bitmap; //设置向上的偏移量 int scWidth; //屏幕宽高 int screenwidth; int screenheight;设置初始化参数
public ScView(Context context) { this(context,null); } public ScView(Context context, @Nullable AttributeSet attrs) { this(context,attrs,0); } private Bitmap resultBitmap; public ScView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); Resources resources = getResources(); //这是根据屏幕分辨率获取的 scWidth = Utils.dp2px(context,80); //屏幕宽度 WindowManager wm = (WindowManager) getContext() .getSystemService(Context.WINDOW_SERVICE); screenwidth = wm.getDefaultDisplay().getWidth(); screenheight = wm.getDefaultDisplay().getHeight(); //颜色 transformDrak = resources.getColor(R.color.result_view); //画笔