自定义View面试题

作者: 世道无情 | 来源:发表于2018-05-05 17:55 被阅读21次

1. invalidate() 和 postInvalicate() 区别?


  • 二者都调用了invalidate()的代码,但是 postInvalicate() 通过 handler切换到了 UI线程,也就意味着我们如果想在子线程中更新UI,可以调用 postInvalicate();

2. 实现赞赏用户头像排列效果?


图片.png

自己写一个ViewGroup,往ViewGroup中添加CircleImageView,然后重写 onLayout()方法去摆放,不要从后台获取到图片url路径后去drawBitmap,这样子是不太好的,我们推崇的是在里边只调用 onLayout()摆放,更多的操作放在外边来做;

3. View的绘制流程是从Activity的哪个生命周期方法开始执行的?


onResume()之后开始

4. 请简述下边三种实例化View的区别,创建RecyclerView 的 item 下边哪种方式最好,还是都可以?


图片.png

第1、2最终都是执行第3个方法,所以只需要分析第3个方法就ok

第3个参数如果是true:表示把item-recycler布局文件添加到parent父布局容器中;
false表示:没有把 item_recycler布局文件添加到 parent父布局容器中;
但是如果第三个参数是false,比如父布局容器是FrameLayout(fl),然后 调用 fl.addView(item_recycler);效果就和 true一样,都表示把 item_recycler添加到 父布局容器中

相关文章

  • MS(5):android之进阶篇

    七、自定义View MS思考:Android面试一天一题(Day 30:老外的自定义View面试题)MS思考:老外...

  • 史上最全的Android面试题总结,结尾有福利。

    面试题:有没有用过自定义View? 答:有用过,一般指定View都需要进行这几个步骤,首先可以自定义一些自己的属性...

  • iOS面试题总结(一)

    iOS面试题总结(一) tableview上拉下拉刷新的原理自定义view通过KVO监听tableView的con...

  • Android View(转)

    自定义View的原理自定义View基础 - 最易懂的自定义View原理系列自定义View Measure过程 - ...

  • 自定义View系列

    自定义View1---知识储备自定义View2---View Measure过程自定义View3---View L...

  • 自定义View5---完整的自定义View

    移步自定义View系列 1.自定义view的分类自定义单一view(不含子view)继承view继承特定view如...

  • 自定义View

    自定义View系列文章 自定义View view向上滚动

  • 自定义View(一) 自定义View的概述

    不怕跌倒,所以飞翔 自定义View概述 1.自定义View分类 自定义View 直接继承View主要是绘制 自定义...

  • Android自定义View

    Android自定义View 参考:从此再有不愁自定义View——Android自定义view详解android ...

  • 自定义view

    Android自定义View 为什么要自定义View自定义View的基本方法 自定义View的最基本的三个方法分别...

网友评论

    本文标题:自定义View面试题

    本文链接:https://www.haomeiwen.com/subject/jmrerftx.html