自定义View都写不好还做什么Android开发

Posted 上马定江山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义View都写不好还做什么Android开发相关的知识,希望对你有一定的参考价值。

什么时候会用到自定义 View?在我们的日常开发中,可能会遇到一些界面、控件无法用 android 系统内置的 View 来完成的,这时候就需要我们使用自定义 View 来进行绘制了。

自定义 View 这东西很多人会比较畏惧,如果你认为他比较难,关键还是缺少实践写得少;如果你认为很简单,那可能是你没有遇到过那些奇葩的效果,需要高等数学和各种算法。

今天给大家分享一份字节大佬整理的《Android自定义View揭密》,揭开它的神秘面纱,也许你就会发现,其实它并不可怕。

自定义View基础

  • View的分类
  • View类简介
  • AttributeSet与自定义属性
  • View视图结构
  • Android坐标系
  • View位置(坐标)描述
  • 位置获取方式
  • Android中颜色相关内容

View树的绘制流程

  • View树的绘制流程是谁负责的?
  • view的添加
  • view的绘制流程
  • measure
  • layout
  • draw

LayoutParams

  • MarginLayoutParams
  • LayoutParams与View如何建立联系
  • addView
  • 自定义LayoutParams
  • LayoutParams常见的子类

MeasureSpec

  • MeasureSpecs 的意义
  • MeasureSpec值的确定

View绘制面试真题

  • View绘制流程
  • MeasureSpec是什么
  • 子View创建MeasureSpec创建规则是什么
  • 自定义Viewwrap_content不起作用的原因
  • 在Activity中获取某个View的宽高有几种方法
  • 为什么onCreate获取不到View的宽高
  • Android绘制和屏幕刷新机制原理
  • Choreography原理
  • 什么是双缓冲
  • 为什么使用SurfaceView
  • 什么是SurfaceView
  • View和SurfaceView的区别
  • SurfaceView为什么可以直接子线程绘制
  • getWidth()方法和getMeasureWidth()区别
  • invalidate() 和 postInvalidate() 方法的区别
  • 自定义 View 的流程和注意事项
  • 自定义View如何考虑机型适配
  • 自定义控件优化方案
  • invalidate怎么局部刷新

View事件分发面试真题

  • View事件分发机制
  • view的onTouchEvent,OnClickListerner和OnTouchListener的onTouch方法 三者优先级
  • onTouch 和onTouchEvent 的区别
  • ACTION_CANCEL什么时候触发
  • 事件是先到DecorView还是先到Window
  • 点击事件被拦截,但是想传到下面的View,如何操作
  • 如何解决View的事件冲突
  • 在 ViewGroup 中的 onTouchEvent 中消费 ACTION_DOWN 事件,ACTION_UP事件是怎么传递
  • Activity ViewGroup和View都不消费ACTION_DOWN,那么ACTION_UP事件是怎么传递的

Viewpager&Fragment面试真题

  • Fragment的生命周期 & 结合Activity的生命周期
  • Activity和Fragment的通信方式, Fragment之间如何进行通信
  • 为什么使用Fragment.setArguments(Bundle)传递参数
  • FragmentPageAdapter和FragmentStatePageAdapter区别及使用场景
  • fragment懒加载
  • ViewPager2与ViewPager区别
  • fragment嵌套问题

WebView面试真题

  • 如何提高WebView加载速度
  • WebView与 js的交互
  • WebView的漏洞
  • JsBridge原理


篇幅有限,详细内容就不作完全展示了,欢迎大家一键三连支持,若需要这份资料,直接点击下方CSDN官方认证微信卡片免费领取【保证100%免费】↓↓↓

以上是关于自定义View都写不好还做什么Android开发的主要内容,如果未能解决你的问题,请参考以下文章

自定义 view - 自定义属性

Android Studio开发基础之自定义View组件

Android自定义View:为什么自定义View wrap_content不生效?

Android自定义View实战之自定义评价打分控件RatingBar,可以自定义星星大小和间距

Android自定义View

Android自定义View