Activity Dialog Toast 状态栏 导航栏是怎么添加view的

Dialog添加view的方法:

public void setContentView(@LayoutRes int layoutResID) {
    mWindow.setContentView(layoutResID);
}

Activity 添加view的方法:

public void setContentView(View view) {
    getWindow().setContentView(view);
    initWindowDecorActionBar();
}

Activity Dialog 都是通过,通过Window来添加View的。 所以说,Activity Dialog是依赖Window来显示的。

 

Toast添加view的方法:

mWM = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);

mWM.addView(mView, mParams);

Toast是通过WindowManager直接添加view的,是不依赖Window来显示的。

 

导航栏添加view的方法:

mWindowManager.addView(mNavigationBarView, getNavigationBarLayoutParams());

导航栏是通过WindowManager直接添加view的,是不依赖Window来显示的。

 

状态栏添加view的方法:

private void addStatusBarWindow() {
    makeStatusBarView();
    mStatusBarWindowManager = new StatusBarWindowManager(mContext);
    mRemoteInputController = new RemoteInputController(mStatusBarWindowManager,
            mHeadsUpManager);
    mStatusBarWindowManager.add(mStatusBarWindow, getStatusBarHeight());
}

状态栏是通过WindowManager直接添加view的,是不依赖Window来显示的。

你可能感兴趣的:(笔记,学习日志)