Android WMS——WM窗口管理(八)

        我们在 ViewRootImpl 分析中,已经对 WindowManager 的功能有一个大致了解,这里再来详细看一下 WindowManager 是如何管理 Window 的。

一、WindowManager

        WindowManager 所提供的功能很简单,常用的只有三个方法,即添加 View,更新 View,和删除 View。这三个方法定义在 ViewManager 接口中,而 WindowManager 继承了 ViewManager。

1、ViewManager

源码位置:/frameworks/base/core/java/android/view/ViewManager.java

public interface ViewManager{
    public void addView(View view, ViewGroup.LayoutParams params);
    public void updateViewLayout(View view, ViewGroup.LayoutParams params);
    public void removeView(View view);
}

2、WindowManager

源码位置:/frameworks/base/core/java/android/view/WindowManager.java

public interface WindowManager extends ViewManager {
}

        由此看来 WindowManager 操作 Window 的过程更像是在操作 Window 中的 View,对于那种可以拖动的 Window 效果其实是很好实现,只需要修改 Layo

你可能感兴趣的:(Android,WMS,android,python,开发语言)