如何在window上面加view
答案:2 悬赏:40 手机版
解决时间 2021-03-19 09:42
- 提问者网友:轮囘Li巡影
- 2021-03-18 18:57
如何在window上面加view
最佳答案
- 五星知识达人网友:猎心人
- 2021-03-18 19:31
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)。
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)。
全部回答
- 1楼网友:西风乍起
- 2021-03-18 20:06
听人家说是通过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","","") 这样win1,win2,win3就分别是三个窗口的对象,再输入如下代码,给三个窗口中的input对象赋值: win1.document.getelementbyid("wins").value="this is win1" win2.document.getelementbyid("wins").value="this is win2" win3.document.getelementbyid("wins").value="this is win3" 望采纳满意答案和评价
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯