自定义View

View测量
宽度自适应TextView 高度测量、复用
View布局
热词墙 高度自适应
View绘制
restore store translation 画布的风向 TextView文字的内边距
自定义动画属性动画 水波纹 病毒 绘制进度条
动画插值器
Touch事件
ScrollView嵌套RecyclerView实现滑动,touch事件的滑动, 支持 Header
Touch分发 请求父亲不要拦截、重新进行拦截

onMeause

宽度自适应Item。在集成到RecyclerView。支持复用、标签随动。
字体自适应的TextView http://ltlovezh.com/2016/04/24/Android%E4%B8%AD%E6%B5%8B%E9%87%8FText%E7%9A%84%E5%AE%BD%E5%BA%A6%E5%92%8C%E9%AB%98%E5%BA%A6/

在OnLayout之后才有Width,之前只能用getMeasuredWidth()

自定义View_第1张图片
屏幕快照 2017-12-24 下午4.21.02.png
自定义View_第2张图片
屏幕快照 2017-12-24 下午4.21.48.png
自定义View_第3张图片
屏幕快照 2017-12-24 下午4.32.54.png
自定义View_第4张图片
屏幕快照 2017-12-24 下午4.32.48.png
注意事项
1、用merge的话,布局属性全丢了。。。
2、初始化,否则mContenntTv被设置的固定值,导致复用时测量失败,考虑复用性。
3、不能少,因为要对整体再测量一下,防止taglist显示不全,考虑整体性。

D/smarking( 7728): -1526022384 3430 短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹
D/smarking( 7728): +  3935 : 2413 3430 1908 短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹
D/smarking( 7728): -1525754200 2989 我们的这里的小吃好好吃的,快来品尝下吧,仅限周末哟快来品尝下吧快来品尝下吧快来品尝下吧快来品尝下吧快来品尝下吧快来品尝下吧
D/smarking( 7728): +  3694 : 2413 2989 1708 我们的这里的小吃好好吃的,快来品尝下吧,仅限周末哟快来品尝下吧快来品尝下吧快来品尝下吧快来品尝下吧快来品尝下吧快来品尝下吧
D/smarking( 7728): -1525894248 343 短小精悍的蚕蛹
D/smarking( 7728): -  848 : 2413 343  短小精悍的蚕蛹
D/smarking( 7728): -1525960640 343 短小精悍的蚕蛹
D/smarking( 7728): -  848 : 2413 343  短小精悍的蚕蛹
D/smarking( 7728): -1525971048 1029 短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹
D/smarking( 7728): -  1534 : 2413 1029  短小精悍的蚕蛹短小精悍的蚕蛹短小精悍的蚕蛹
D/smarking( 7728): befault  measureText 573.0 size 49.0 currentWidth 483
D/smarking( 7728): measureText 430.0 size 38.0 currentWidth 483
D/smarking( 7728): befault  measureText 237.0 size 49.0 currentWidth 483
D/smarking( 7728): measureText 466.0 size 98.0 currentWidth 483
D/smarking( 7728): befault  measureText 125.0 size 49.0 currentWidth 484
D/smarking( 7728): measureText 465.0 size 185.0 currentWidth 484
c
D/smarking( 7728): -1526104120 343 短小精悍的蚕蛹
D/smarking( 7728): -  848 : 2413 343  短小精悍的蚕蛹
D/smarking( 7728): -1526092232 343 短小精悍的蚕蛹
D/smarking( 7728): -  848 : 2413 343  短小精悍的蚕蛹
D/smarking( 7728): -1525585240 791 短小精悍的蚕蛹2222222222222222
D/smarking( 7728): -  1296 : 2413 791  短小精悍的蚕蛹2222222222222222
D/smarking( 7728): -1526022384 1908 短小精悍的蚕蛹
D/smarking( 7728): +  2633 : 2413 1908 1688 短小精悍的蚕蛹

onLayout

热词墙

mMeasuredWidth 是根据什么算出来的?在onMeasure()后
getWidth() {mRight - mLeft; }是根据什么算出来的? 在onLayout后

onDraw

绘制动画

Touch事件

你可能感兴趣的:(自定义View)