android 自定义控件的过程

android 自定义控件的过程

ID:44702730

大小:15.46 KB

页数:3页

时间:2019-10-25

android 自定义控件的过程_第1页
android 自定义控件的过程_第2页
android 自定义控件的过程_第3页
资源描述:

《android 自定义控件的过程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、android自定义控件的过程invalidate()会导致computeScroll()以及onDraw()方法的执行computeScroll()方法是在屏幕流动的时候不停的去调用,scrollTo(intx,inty)则是滚动到相应的位置;scrollBy(intx,inty)则是移动一些距离,X为正是向左移动,为负时向右移动,Y与X的意义一个,只是是上下移动而已View对象显示在屏幕上,有几个重要步骤:1.构造方法创建对象2.测量View的大小onMeasure(int,int);3.确定View的位置,View自身有一些权,决定权在父View手中.onL

2、ayout();基本上不常用,在继承View的时候基本上用不着,但在继承ViewGroup的时候的就要用到了,因为要对View进行布局,确定View的位置,确定的时候使用指定子View的位置,左,上,右,下,是指在ViewGroup坐标系中的位置view.layout(intxtop,intytop,intxbottom,intybottom);4.绘制View的内容onDraw(Canvas)实现过程:1、构造方法:/***在布局文件中声名的view,创建的时候由系统调用**@paramcontext*上下文对象*@paramattrs*属性集*/publicM

3、yToggleButton(Contextcontext,AttributeSetattrs){super(context,attrs);initView();}2、测量View的大小:/***测量尺寸时的回调方法*/@OverrideprotectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){//super.onMeasure(widthMeasureSpec,heightMeasureSpec);/***设置当前View的大小Width:view的宽度Height:view的调度(单位:像素

4、)*/setMeasuredDimension(backgroundBitmap.getWidth(),backgroundBitmap.getHeight());}3、确定View的位置1、这是继承View的时候,一般不需要进行处理/***确定位置的时候调用此方法自定义View的时候作用不大*/@OverrideprotectedvoidonLayout(booleanchanged,intleft,inttop,intright,intbottom){super.onLayout(changed,left,top,right,bottom);}2、这是继承Vi

5、ewGroup的时候,这个时候就要确定ViewGroup里面各个View的位置了/***对子View进行布局,确定子View的位置changed若为true,则说明布局发生了变化ltrb*是指当前ViewGroup在其父View中的位置*/@OverrideprotectedvoidonLayout(booleanchanged,intl,intt,intr,intb){for(inti=0;i

6、指在ViewGroup坐标系中的位置view.layout(i*getWidth(),0,(i+1)*getWidth(),getHeight());}}4、绘制View的内容:@OverrideprotectedvoidonDraw(Canvascanvas){/***lefe图片的左边界top图片的上边界paint绘制图片要使用的画笔*///绘制背景canvas.drawBitmap(backgroundBitmap,0,0,paint);//绘制可滑动的按钮canvas.drawBitmap(slideBtn,slideBtn_left,0,paint);}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。