自定义view的基本运用

来源:互联网 发布:景观设计用什么软件 编辑:程序博客网 时间:2024/04/27 02:43

       在我们刚学android的时候用的都是一些软件自带的一些原生的控件 ,因为刚开始学的时候回的并不是太多 学的没有那么深 觉得android自带的那些原生控件就足以够我们在以后的android开发中运用的了,但是随着我们在android开发这条路上越走越远的是后,渐渐的我们发现android自带的那些控件已经满足不了我们在android开发上的运用了,有的一些设计图的某些功能设计的特别刁钻,好多东西android自带的原生控件根本无法实现出来,后来才发现,原来这些控件还可以自己去定义,于是变自己研究起自定义view的使用,或许有人觉得自定义是一个很难的东西,刚开始的时候我也是这么觉得的,但是当我们去认真用心去学的时候就会发现,其实自定义view也不是太难弄懂的,只需记住一些主要的控件就没有什么难的了,下面为就来大概的讲解一下关于自定义控件的使用,自定义有两种实现方式(本人只知道两种,或许还有很多 ,等我以后慢慢补充,这次呢,先来简单的利用自定义view来实现一下仿验证码的实现效果)不过两种的方式差不多就大概讲解一下吧,在此之前先来看一下效果


1.第一种呢就是直接写一个类继承view方法,一个随机数,一个一个数组,再去重写两个方法

添加一个方法在里面初始化画笔在里面定义一个抗锯齿 paint.setAntiAlias(true);用来让我们画的图形更加的圆润,重写onDraw(Canvas canvas)canvas是画布对象和onTouchEvent(MotionEvent event)用来显示自定义view的触摸事件的,一般我们只使用三种触摸事件ACTION_DOWN按下的时候的事件ACTION_MOVE移动时的事件ACTION_UP和抬起时的事件作为自定义控件,如果想要有自己独特事件处理,那么根据自己的条件来写  回调,这样就差不多完成了  下面就来展示一下代码吧


2第二种和第一种差不多就是在vaule中定义一些属性,在自定义里使用

declare-styleable是你自定义view的一套新定义的属性,下面包含了你要定义的各种属性attr

format是指定attr属性的单位,其中包括:

(1) reference: 引用某一资源,如:src="@drawable/sourcename";

(2)color:颜色,如color="#ff0000";

(3)boolean:布尔值,true或false;

(4)dimension:尺寸值,如sp,dp,px;

(5)float:浮点型,也就是小数,如0.5, 1.8;

(6)integer:整形, 如 1, 100;

(7)string:字符串

(8)fraction:百分数, 如100%

(9)enum:枚举,如 orientation="vertical"

(10)flag:位或运算,如gravity="centerHorizontal | right"

format提供了是个属性供我们使用  只要大家熟练的使用就能够玩转自定义view ;





在写这篇博客的 时候  插入的图片总是莫名其妙的没了,本人也是很无奈,弄了好长时间才弄好,希望这篇博客能够给大家一些提议。



























原创粉丝点击