Android View(绪)

Posted by CoXier on May 21, 2017

前言

经过一段时间的找实习后,懈怠快一个月了,准备为入职做点准备。断断续续写博客已经快一年了,很惭愧,没有一个能成系列的文章。 之后的初步计划是总结 Android View 系列的知识。

一、Android View

Android View 在整个 Andoird Application 中扮演着非常重要的角色。按照我的理解:App 以 Activity 为载体与用户进行交互,例如点击、长按、侧滑。Activity 把可见的视图交给 Window 管理,Window 通过创建一系列 View 来展示 User Interface 。

Android View 的学习包括:

  • Custom View(extend base view or ViewGroup)
  • Android Performance for View
  • TextureView、SurfaceView

1.1 Android Custom View

Android Custom View 的知识点很杂,但是不妨从一下几个方面入手:

  • Theme and Style
  • View’s four constructor
  • How android draws view
  • Paint and Canvas
  • Implement animation
  • Handle Touch Event

以上是基础中的基础,如果要写出性能较好的自定义View,那么还需要充分了解性能方面的问题。

1.2 TextureView、SurfaceView

TextureView、SurfaceView 的用途有别于其他原生的 View,他们的适用场景是 视频播放、摄像、拍照,近几年市场已经出现越来越多基于这些 View 的产品,如美图秀秀、Vue视频、抖音,所以学习他们也是十分有必要。因为 Android 底层也是用 OpenGL 来绘图的,学习 TextureView、SurfaceView 肯定免不了要学习 OpenGL ,甚至还需要了解 「解码」和「编码」等方面的知识。