
自定义控件
lyl0530
快马加鞭,嘚嘚嘚...
展开
-
可水平居中的TextView
View 的事件分发机制主要涉及到以下方法: dispatchTouchEvent ,这个方法主要是用来分发事件 onInterceptTouchEvent,这个方法主要是用来拦截事件的(需要注意的是ViewGroup才有这个方法,View没有onInterceptTouchEvent这个方法 onTouchEvent,这个方法主要是用来处理事件的 requestDisallowInterceptTouchEvent(true),这个方法能够影响父ViewGroup是否拦截事件,true表示 不拦截事件,f原创 2020-10-06 11:37:58 · 315 阅读 · 0 评论 -
自定义控件之流式布局
实现如上效果。 实现思路: 控件FlowLayout继承自ViewGroup,重写onMeasure[测量]、onLayout[布局]方法。addItem()方法用于增加String类型的list 注意事项: 1. 测量子View的宽和高时,要先调用measureChild,child.getMeasuredHeight();才能获取到值 2.onMeasure中元素换行时的处理。用arr存储每行的第一个元素所对应的index,便于onLayout使用 3.onLayout中每行的第一...原创 2020-07-08 15:38:40 · 263 阅读 · 0 评论 -
使用自定义控件让图片转起来
1. 在res/values下新建属性文件attr.xml <?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android"> <declare-styleable name="RotateCircle&qu原创 2019-01-13 10:52:08 · 326 阅读 · 0 评论 -
自定义控件中创建对象注意事项
Lint警告:Avoid object allocations during draw/layout operations (preallocate and reuse instead) 不要在自定义View的onMeasure、onLayout、onDraw等方法里面做new对象的操作。 因为实例化对象是会耗性能的,而这几个方法会被多次调用,所以需要将对象作为属性,在初始化的时候就实例化好对...原创 2020-03-02 21:07:19 · 354 阅读 · 0 评论