
Android自定义View
沐恩_
自强不息,厚德载物
展开
-
自定义 View 之熟记 scrollTo、scrollBy、Scroller 三者区别
博主声明:转载请在开头附加本文链接及作者信息,并标记为转载。本文由博主威威喵原创,请多支持与指教。本文首发于此 博主:威威喵|博客主页:https://blog.youkuaiyun.com/smile_running 介绍 今天,我们来讲讲自定义View的基本功,那就是对我们屏幕坐标系的理解。本人画了一张图,咋们凑合看吧,应该不难看懂。 这里做略微的说明,黑色(ViewGroup、父容器)、蓝色(包含的子View)、橙色为手指触摸屏幕的一点。为什么要清楚这张图呢...转载 2020-08-04 10:30:06 · 616 阅读 · 0 评论 -
Android画布剪裁函数clipRect详解
最近因为在总结一些优化UI布局的技巧,在解决过度绘制的时候很多都用到了clipRect函数来进行自定义控件的优化。个人觉得这是个十分有用且重要的方法。什么是clipRect?clipRect函数是android.graphics.Canvas类下一个用于对画布进行矩形裁剪的方法。clipRect的重载public boolean clipRect (Rect rect, Re...转载 2018-10-18 15:55:06 · 2008 阅读 · 0 评论 -
VelocityTracker使用总结
VelocityTracker是android提供的用来记录滑动速度的一个类,可以监控手指移动的速度。基本用法如果我们想监控一个view内,手指移动的瞬时速度,该如何做?代码如下所示。主要是在onTouchEvent里记录各个MotionEvent,down事件是起点,此时需要初始化mVelocityTracker(obtain或者reset),第一次肯定是obtain。然后把当前的eve...转载 2018-09-11 09:07:59 · 1605 阅读 · 0 评论 -
ViewConfiguration解析
https://blog.youkuaiyun.com/hp910315/article/details/47375569ViewConfiguration这个类主要定义了UI中所使用到的标准常量,像超时、尺寸、距离,如果我们需要得到这些常量的数据,我们就可以通过这个类来获取,具体方法如下: 1、获取ViewConfiguration对象,由于ViewConfiguration的构造方法为私有的,只能通...转载 2018-09-11 09:01:40 · 627 阅读 · 0 评论 -
自定义view的时候,执行了invalidate()方法后 onDraw()不被调用的解决方法
如果在调用invalide方法没有刷新view的时候,可以采用刷新父布局的方式:((View)view.getParnet()).invalidate();或者用另外一个方法:view.invalidate();view.forceLayout();view.requestLayout();这样会强制刷新view的https://blog.youkuaiyun.com/ddddwwww2...转载 2018-09-19 11:32:22 · 2839 阅读 · 1 评论 -
Android Touch事件传递机制(四) -- Touch事件处理(onTouchEvent)
http://daemon369.github.io/android/2014/10/12/android-onTouchEvent(本文基于android-2.3.3_r1代码研究)前面研究了Android触屏事件的分发机制;本文继续从源码角度研究触屏事件的处理机制。#一. View.onTouchEventAndroid的触屏事件,最终分发给View的onTouchEvent方...转载 2018-09-07 17:22:56 · 415 阅读 · 0 评论 -
Android Touch事件传递机制(三) -- Touch事件分发(dispatchTouchEvent)
http://daemon369.github.io/android/2014/09/11/android-dispatchTouchEvent(本文基于android-2.3.3_r1代码研究)在Android Touch事件传递机制(一)和Android Touch事件传递机制(二)这两篇文章中研究了Android触屏事件的分发机制;本文从源码角度继续深入研究。#一. ViewRo...转载 2018-09-07 17:12:59 · 337 阅读 · 0 评论 -
Android Touch事件传递机制(二) -- OnTouchListener & OnClickListener & OnLongClickListener
http://daemon369.github.io/android/2014/08/25/android-OnTouchListener-OnClickListener-OnLongClickListener(本文基于android-2.3.3_r1代码研究)在Android Touch事件传递机制(一) – onInterceptTouchEvent & onTouchEven...转载 2018-09-07 17:02:51 · 535 阅读 · 0 评论 -
Android Touch事件传递机制(一) -- onInterceptTouchEvent & onTouchEvent
http://daemon369.github.io/android/2014/08/17/android-onInterceptTouchEvent-onTouchEvent(本文基于android-2.3.3_r1代码研究)#onTouchEventonTouchEvent是View类提供的方法,其说明如下: /** * Implement this method to h...转载 2018-09-07 16:58:43 · 290 阅读 · 0 评论