您的位置:首页 > 其它

关于自定义View的一些总结

2016-05-05 10:49 344 查看
自定义View是android中非常常用的一个功能,以下是非常实用的一些知识:

一.View移动的相关方法总结:

  1.通过改变view在父View的layout位置来移动,但是只能移动指定的View:

    view.layout(l,t,r,b);
view.offsetLeftAndRight(offset);
//同时改变left和right
view.offsetTopAndBottom(offset);
//同时改变top和bottom

  2.通过改变scrollX和scrollY来移动,但是可以移动所有的子View;

    scrollTo(x,y);
scrollBy(xOffset,yOffset);

  3.通过改变Canvas绘制的位置来移动View的内容:

    canvas.drawBitmap(bitmap, left, top, paint)

二.使用ViewDragHelper来处理移动

  1.ViewDragHelper在高版本的v4包(android4.4以上的v4)中

  2.它主要用于处理ViewGroup中对子View的拖拽处理

  3.它是Google在2013年开发者大会提出的 

  4.它主要封装了对View的触摸位置,触摸速度,移动距离等的检测和Scroller,通过接口回调的

    方式告诉我们;只需要我们指定是否需要移动,移动多少等;  

  5.本质是对触摸事件的解析类;

三.getHeight和getMeasuredHeight的区别:

  getMeasuredHeight:只要view执行完onMeasure方法就能够获取到值;

  getHeight:只有view执行完layout才能获取到值;

  

四.在自定义ViewGroup的时候,如果对子View的测量没有特殊的需求,那么可以继承系统已有的

   布局(比如FrameLayout),目的是为了让已有的布局帮我们实行onMeasure;

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  自定义View