为了账号安全,请及时绑定邮箱和手机立即绑定

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

/ 猿问

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

暮色呼如 2019-07-24 19:15:17

如何在window上面加view


查看完整描述

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)。



查看完整回答
反对 回复 2019-07-29
?
芜湖不芜

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

查看完整回答
反对 回复 2019-07-29
?
潇潇雨雨

听人家说是通过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.

查看完整回答
反对 回复 2019-07-29

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信