android 自定义view之神器
做android开发自定义View是最常见的事,自定义view也最能显示一个android开发者对android的系统的理解程度和android开发的能力,自定义view的好坏直接影响app的质量,界面的美观,app的流畅度。
下面介绍一点自定义view中用到的最常用好用的神器,相信如果在自己项目中用到这些神器一定能让你事半功倍,有意想不到的效果。
一 神器之ViewConfiguration,
官方介绍Contains methods to standard constants used in the UI for timeouts, sizes, and distances. 它是系统帮我们定义好的一些针对UI操作的一些标准方法和常量。其中getScaledTouchSlop方法相信谁用谁知道,我们可以用它来判断用户是不是在我们的自定义View上面有滑动操作。
二 神器之VelocityTracker
用来追踪触摸事件(flinging事件和其他手势事件)的速率,用obtain()函数来获得类的实例,用addMovement(MotionEvent)函数将motion event加入到VelocityTracker类实例中,当你使用到速率时,使用computeCurrentVelocity(int)初始化速率的单位,并获得当前的事件的速率,然后使用getXVelocity() 或getXVelocity()获得横向和竖向的速率。计算那些已经发生触摸事件点的当前速率。这个函数只有在你需要得到速率消息的情况下才调用,因为使用它需要消耗很大的性能。最后记得在up事件中释放这些收集的事件
三 神器之offsetLeftAndRight() offsetTopAndBottom() 及layout()方法
在自定义ViewGroup中,你会用到移动其子view的方法的
四 神器之ViewDragHelper
如果你的ViewGroup里面需要用到子view拖动功能,请优先考虑它,顶级神器。
五 神器之PointF
在自定义View中如果你要保存触摸的xy坐标值,请用它,告白x,y变量漫天飞。