实习笔记-16
Android View绘制流程
performTraversals()
获取Surface对象,performMeasure-丈量View树的各个view的大小,performLayout-对整个视图树进行布局,performDraw,对视图树进行绘制
源码解析
- 第一阶段,确定activity的宽高
1 | if(Activity窗口是第一次被请求执行测量、布局和绘制操作){ |
获取Surface对象,performMeasure-丈量View树的各个view的大小,performLayout-对整个视图树进行布局,performDraw,对视图树进行绘制
源码解析
1 | if(Activity窗口是第一次被请求执行测量、布局和绘制操作){ |
如果您的应用以 Android 11 或更高版本为目标平台,您将无法使用 allowBackup 属性停用应用文件的设备到设备迁移。系统会自动启用此功能。
不过,即使您的应用以 Android 11 或更高版本为目标平台,您也可以通过将 allowBackup 属性设为 false 来停用应用文件的云端备份和恢复。
媒体 intent 操作需要系统默认相机
从 Android 11 开始,只有预装的系统相机应用可以响应以下 intent 操作:
1 |
data class
可以很方便BaseAdapter
适配器的类1 | class GridAdapter(private val context: Context, private val strList:MutableList<myItems>, private val background:Int) : BaseAdapter() { |
c++
中结构体
的作用,因为数组只能传递一个),创建对应的List并且赋值方便起见,在activity的内部写一个内部类,用来监听输入
1 | inner class EditWatcher : TextWatcher { |
注意
1 |
Fragment与ViewPager搭配,实现翻页,实现每页多个控件
1 | class BlankFragment : Fragment() { |
1 |
使用场景:Fragment想要向外传递信息
1 | class BlankFragment : Fragment() { |