我知道如何使用View.getRootView()获得根视图。 我还可以从按钮的onClick事件获取视图,其中参数为View 。 但是如何获得活动中的视图


#1楼

我只在android 4.0.3中测试过:

getWindow().getDecorView().getRootView()

给出相同的看法

anyview.getRootView();com.android.internal.policy.impl.PhoneWindow$DecorView@#########

getWindow().getDecorView().findViewById(android.R.id.content)

给它的孩子

android.widget.FrameLayout@#######

请确认。


#2楼

万一有人需要更简单的方法:

以下代码提供了整个活动的视图:

View v1 = getWindow().getDecorView().getRootView();

要在活动中获取证书视图,例如活动中的imageView,只需添加要获取的视图的ID:

View v1 = getWindow().getDecorView().getRootView().findViewById(R.id.imageView1);

希望这对某人有帮助


#3楼

如果您处于活动中,则假定只有一个根视图,您可以像这样获得它。

ViewGroup viewGroup = (ViewGroup) ((ViewGroup) this.findViewById(android.R.id.content)).getChildAt(0);

然后可以将其投放到您的真实班级

或者你可以使用

getWindow().getDecorView();

请注意,这将包括操作栏视图,您的视图位于操作栏视图下方


#4楼

从当前活动获取根视图。

在我们的活动中,我们可以获得以下内容的root视图:

ViewGroup rootView = (ViewGroup) ((ViewGroup) this.findViewById(android.R.id.content)).getChildAt(0);

要么

View rootView = getWindow().getDecorView().getRootView();

#5楼

如果您需要活动的根视图(以便可以在其中添加内容),请使用

findViewById(android.R.id.content).getRootView()

另外据报道,在某些设备上您必须使用

getWindow().getDecorView().findViewById(android.R.id.content)

代替。

请注意,正如Booger所报告的那样,这可能在某些设备上位于导航栏(带有后退按钮等)的后面(但在大多数设备上似乎并非如此)。

如果需要使用setContentView()方法获取添加到活动中的视图,则如pottedmeat所写,可以使用

final ViewGroup viewGroup = (ViewGroup) ((ViewGroup) this.findViewById(android.R.id.content)).getChildAt(0);

但最好在xml布局中将此ID设置为此视图,并改用此ID。


#6楼

获取当前活动的视图

在任何onClick中,我们都将使用“视图”获得rootView,从而获得“视图视图”。

视图view = view.getRootView();

并获得片段视图

视图view = FragmentClass.getView();


#7楼

anyview.getRootView(); 将是最简单的方法。


#8楼

这就是我用来获取在setContentView分配的XML文件中找到的根视图的方法:

final ViewGroup viewGroup = (ViewGroup) ((ViewGroup) this.findViewById(android.R.id.content)).getChildAt(0);

#9楼

在Kotlin中,我们可以缩短操作时间:

val rootView = window.decorView.rootView

从当前活动获取根视图相关推荐

  1. 【JetPack】ViewBinding 视图绑定组件 ( 启用模块 | 视图绑定定制 | 绑定类名称生成规则 | 绑定类字段生成规则 | 绑定类获取根视图 | 绑定类获取布局组件 )

    文章目录 I . 视图绑定组件简介 II . 视图绑定 ViewBinding 使用前提 ( Android Studio 3.6 ) III . 视图绑定组件启用 IV . 定制视图绑定 ( 启用视 ...

  2. android获取根视图

    android获取根视图 activity.getWindow().getDecorView() 转载于:https://www.cnblogs.com/baron89/p/4118342.html

  3. iOS开发,轻松获取根控制器当前控制器的正确方式

    背景 在开发过程中,经常需要获取当前 window, rootViewController, 以及当前 ViewController 的需求. 如果 .m 实现不是在当前视图情况下, 我们需要快速的获 ...

  4. php vendor路径,php – 如何使用composer获取根包路径

    我正在使用 composer开发一个名为 php-app-config的PHP组件. 这个组件,一旦被另一个项目需要,并使用composer install安装,应该在 root package的co ...

  5. flutter: 根视图、根元素与根渲染

    flutter如何建立的视图树(WidgetTree),元素树(ElementTree)及渲染树(RenderingTree),又是如何更新视图绘制视图? 这个问题太大,刚开始一切又都是陌生的,理解起 ...

  6. Python入门--获取字典视图的三个方法#keys()-->获取字典中所有key#values()-->获取字典中的所有value#items()-->获取字典中所有key-value对

    #获取字典视图的三个方法 #keys()-->获取字典中所有key #values()-->获取字典中的所有value #items()-->获取字典中所有key-value对 ## ...

  7. ios修改根视图控制器

    根视图除了可以在AppDelegate.m文件中指定之外也可以在外面定义// 修改根视图 24.AppDelegate* appDelagete = [UIApplication sharedAppl ...

  8. java application 路径_java项目获取根路径(web项目和application项目的区分)

    Java项目中经常要读取配置文件,涉及到读取配置文件的地方,就会要读定位文件的路径.因此,在项目如何正确获取文件路径尤为关键. 根据不同的java项目,在获取文件路径时候有一些 小区别 测试环境:E: ...

  9. Python字典(字典的定义,创建字典,获取字典中的数据,字典元素增删改,获取字典视图,字典的遍历,字典的特点,字典生成公式)

    1.字典的定义 2.创建字典 3.获取字典中的数据 4.字典元素增删改 5.获取字典视图 lst={'数值1':300,'数值2':100,'数值3':400,'数值4':200} print(lst ...

最新文章

  1. github中SSH的Key
  2. 处理大并发之一 对epoll的理解,epoll客户端服务端代码
  3. 【47.92%】【hdu 5763】Another Meaning
  4. SmartSql使用教程(1)——初探,建立一个简单的CURD接口服务
  5. python打开界面-python学习笔记(图形用户界面)
  6. jQuery checkbox全选问题
  7. Effective Modern C++42招独家技巧助你改善C++11和C++14的高效用法笔记
  8. html5音频插件js,jquery音乐播放器插件jsRapAudio
  9. tiny6410烧录
  10. WWF中Conditioned Activity Group的子Activity扩展CAG的WhenCondition属性代码解析
  11. 5-lighttpd安装
  12. 产业安全专家谈丨企业如何应用“联邦学习”打破数据孤岛,助力业务创新?
  13. 分享一篇前端大佬关于前端职业规划的建议
  14. 短信宝接入发送短信实测 Java
  15. allegro中动态铜皮一键倒圆角
  16. SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——2.安装ros-kinetic
  17. module ‘dlib‘ has no attribute ‘get_face_chips‘
  18. Linux安装Mysql和mysql-devel包
  19. 仿牛客论坛项目(上)
  20. 凯氏物语:区块链的浪潮开始涌动了

热门文章

  1. 非阻塞模式与阻塞模式
  2. Activity启动流程
  3. 算法-----有序数组的平方
  4. LyaoutParameters作用
  5. 【Android】JNICALL could not be resolved
  6. sql语句练习50题(Mysql版-详加注释)
  7. Android开发:Handler的简单使用(一)
  8. Android系统架构-[Android取经之路]
  9. c语言中,关于指针变量前的*有两种表现形式:
  10. php正则表达式判断url,判断url的正则表达式