android 获取当前activity的最顶层及添加布局

2018-10-27 20:56:17

顾名思义,getParent就是获取view的父亲节点,而getRootView是寻找当前的view层次中处在最顶层的view,可理解为找出该view实例所在的view层次的根view。

如果这个view文件只是一个activity.setContentView时所引用的一个view。 

1.当view处于xml文件的根节点时,通过getParent到的view都是它身。 

2当view处于xml的非根节点时,通过getParent获得的是view的父亲节点。 

3.无论处于xml的根节点还是子节点,通过getRootView获得的都是当前Activity的DecorView(关于DecorView,可参考http://blog.csdn.net/houliang120/article/details/51138087)。

区别于上面的情况,如果这个view处于Fregment中(猜测viewpager这些可能类似) 

1.当view处于xml文件的根节点时,通过getParent获得的是null(猜测这个可能是由于view处于Fregment中,而又无法获取父节点导致)。 

2.当view处于非根节点时,通过getParent获得的是它的父亲节点 

3.无论处于xml的根节点还是子节点,通过getRootView获取的都是它本身。


  • 2020-11-11 15:05:39

    nuxt如何在其它js文件中使用store

    在新建的js文件中想用store里面的数据,比如token想在封装的axios里面,请求头里面去使用,亦或者通过app的JS接口获取token并存储在store里面。我们都知道如何在vue中如何使用。

  • 2020-11-12 14:01:46

    使用postMessage来实现父子通信跨域

    1.子向父,子postMessage,父监听message; 2.父向子,父postMessage,子监听message; 3.测试发现,子向父postMessage的时候,源可以写为‘*’,父向子postMessage的时候,源需要写成子的源,(也就是子页面的协议+主机号+端口) 测试代码部分:

  • 2020-11-12 14:24:39

    Object.entries()

    Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)