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


  • 2019-06-06 16:14:50

    intent-filter的action,category,data匹配规则

    我们知道有两种方式来启动Activity,显示调用和隐式调用。当使用隐式调用时,又会涉及到IntentFilter的匹配规则。我确信大多数开发者很少关注隐式调用,因为平时开发中用到大多数是显示调用。例如:用Intent直接打开一个Activity,或者用Intent通过包名等其他信息打开另外一个应用等。而隐式调用则使用的比较少,当然也不是完全不使用。例如:当我们需要打开浏览器访问某个链接时,手机上可能存在多个浏览器,我们也无法拿到某一个浏览器的包名,那么一般情况下我们会写如下代码:

  • 2019-06-06 17:57:57

    input【type="checkbox"】标签与字体对齐

    今天分享一个比较实用的技巧,在实际项目中我们会经常遇到表单的input标签多选和单选的问题,但是往往由于标签自身的样式和我们项目的风格很不搭调,就不能实现了,今天就来告诉大家怎么去实现吧。

  • 2019-06-10 11:54:52

    html.div禁用点击事件

    今天做项目中偶然误把元素加上了pointer-events属性,结果导致后来在js中给该元素加点击事件不能用,检查了半天才发现是这个属性的问题。之前没有好好研究,于是决定仔细研究一下。

  • 2019-06-12 22:34:16

    PHP身份证号打星号

    一个很简单的问题,想把身份证的号生日的4位隐藏,一开始查函数居然没有看到,然后用了好几个函数处理,觉得太麻烦就上网搜,后来发现有一个函数就能直接处理,我居然没看到~~初学者~~

  • 2019-06-13 10:09:51

    java(Android)跨Module调用对应类方法需求解决方案

    在开发组件化项目中,遇到一个这样的问题,两个不同的Module相互之间没有任何直接依赖关系,现在需求是需要在Module_A中调用Module_B中的某个类的方法,以下为解决此问题的方法;