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获取的都是它本身。


  • 2021-01-10 17:19:00

    libc++_shared是什么冲突

    NDK 支持多种 C++ 运行时库。本文档介绍了这些库的相关信息、所涉及的折衷做法以及库的使用方法。

  • 2021-01-10 17:20:52

    NDK--CMakeLists配置第三方so库

    当我们创建一个NDK工程时,会自动创建一个CMakeLists.txt的文件,在AS中c++的编译器是使用LLVM,规则为cmake,今天来学习下cmake的基本套路 首先,我创建了两个NDK工程,第一个工程为lib,为第二个工程提供so库

  • 2021-01-12 10:56:09

    NodeJS封装mongodb

    NodeJS操作 Mongodb 并且对 Mongodb 类库进行封装

  • 2021-01-12 22:05:56

    ios 代码写Button小结

    本文实现的是一个不用拖控件,而是用代码写出一个按钮,然后点击弹出一个警告信息,有人问那么好的IB工具不用却去苦逼的写代码呢?因为IB高度集成开发工具,拖出的控件帮我省了很大麻烦,这个过程农民工也可以干,但是作为初学者,IB是个比较高层的东西,我们是不是应该了解一下IB底层的东西呢,如果一味追求方便快捷,哪天突然有人问怎么用代码写出来,咱岂不是要被鄙视了;所以吧,初学者不要学懒,多写代码提高我们的编程能力,当我们在开发项目或者在公司工作去用IB,来帮我们节省时间提高效率;