前文概要
连续四篇介绍了车载设置,主要都是和源码相关,还未看过的,可以参考借鉴学习一下源码知识。车载设置–按键提示音
本文开始进入下一个篇章,主要是和 camera 相关,例如倒车,TV ,360 全景等,其主要实现原理是基于 WindowManager 来显示全屏窗口,在窗口中加载 camera 传递的数据。基于此,有必要先介绍一下 WindowManager 和 camera 相关的知识点,本文先从 WindowManager 开始。
WindowManager 类结构
public interface WindowManager implements ViewManager
WindowManager 是窗口管理器,所有显示窗口都可以通过它来控制。通常我们调用的是 WindowManager 继承自基类的 addView 方法和 removeView 方法来显示和隐藏窗口:
addView(View view, ViewGroup.LayoutParams params)
Assign the passed LayoutParams to the passed View and add the view to the window. 用于添加一个窗口
removeView(View view) 移除一个窗口
updateViewLayout(View view, ViewGroup.LayoutParams params) 更新窗口的参数
WindowManager 主要是通过 Context.getSystemService(Context.WINDOW_SERVICE) 来获取。
WindowManager.LayoutParams 参数介绍
WindowManager.LayoutParams