猿问
下载APP

请问该如何在window上面加view?

如何在window上面加view


暮色呼如
浏览 53回答 3
3回答

汪汪一只猫

WindowManager中有个添加View的函数:public void addView(View view, ViewGroup.LayoutParams params)Window中有个添加View的函数:public void addContentView(View view, ViewGroup.LayoutParams params)弄清楚这两个类和这两个函数的作用设计到Android整个Surface系统,这里不详述,只作说明,供自己记录。事实上,这两个函数是Activity上显示View至关重要的控制函数,它们在框架层已经有了明确的分工。查看这两个函数的调用过程可以发现addView的调用是针对ViewRootImpl的,也就是它添加的View相当于最底层的PhoneWindow.DecorView;而addContentView最终指向了ViewGroup.addView(childView)。

芜湖不芜

事实上,这两个函数是Activity上显示View至关重要的控制函数,它们在框架层已经有了明确的分工。查看这两个函数的调用过程可以发现addView的调用是针对ViewRootImpl的,也就是它添加的View相当于最底层的PhoneWindow.DecorView;而addContentView最终指向了ViewGroup.addView(childView)。

潇潇雨雨

听人家说是通过js打开窗口就可以获得窗口对象,实例: 在win1 win2 win3窗口中都有input,id为wins: 在win4窗口中输入JS: var win1=window.open("win1.html","","") var win2=window.open("win2.html","","") var win3=window.open("win3.html.
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答