获取activity下的所有view

Android中Activity获取View宽高的常用方式 Android开发中,onCreate()、onStart()、onResume()关键生命周期方法中获取某控件的宽高,然而获取的结果均为 0,Why? Because:View的measure()与Activity的生命周期没有同步执行,因此不能保证在onCreate()、onStart()、onResume()中获取控件宽/高时,这个View已经测量结束,so,如果没有测量完成,我们取得的宽高就是0。 Activity中测试代码,具体看注释即可: public class MainActivity ex 阅读详情
/**

* @note 获取该activity所有view

* */

public void getAll() {

View view = current_activity.getWindow().getDecorView();

List<View> all_child=getAllChildViews(view);
//……
//……
//do somthing

}


private List<View> getAllChildViews(View view) {

List<View> allchildren = new ArrayList<View>();

if (view instanceof ViewGroup) {

ViewGroup vp = (ViewGroup) view;

for (int i = 0; i < vp.getChildCount(); i++) {

View viewchild = vp.getChildAt(i);

allchildren.add(viewchild);

allchildren.addAll(getAllChildViews(viewchild));

}

}

return allchildren;

}

STM32移植u8g2库(HAL库)(硬件SPI)(sh1106_128x64) STM32移植u8g2库(HAL库)(硬件SPI)(sh1106_128x64) MCU型号为STM32F103RCT6,OLED屏为中景园电子1.3寸屏,驱动芯片为sh1106,分辨率为128x64,MDK版本为V5.34。 阅读详情

相关推荐

从Si3N4到SiNx:一文搞懂芯片制造中氮化硅的化学式玄机(附工艺参数影响)

本文深入探讨了芯片制造中氮化硅(SiNx)化学式的调控艺术,揭示了从Si3N4到SiNx的转变如何影响材料性能。通过分析PECVD和PVD工艺参数对x值的精确调控,以及x值对电学和机械性能的影响,为半导体制造提供了实用的工艺优化策略。

weixin_30776273的博客 151

Android 遍历界面所有的View

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

fumeidonga的博客 4420

资产负债表,利润表,现金流量表空表excel模板,带公式~

新会计报表:包括资产负债表,利润表,所有者权益变动表,现金流量表~

Android 遍历Activity所有的View

1.//获取activity所有的子view //获取activity所有的子view private List<View> getAllViews(){ List<View> viewList=new ArrayList<>(); ViewGroup decorView = (ViewGroup) getWindow().getDecorView(); for(int i=0;i<decorVie

OneN的博客 3276

android 遍历activity,Android----获取activity上所有的控件

/*** @note 获取activity所有view* @author liuh* */public List getAllChildViews() {View view = this.getWindow().getDecorView();return getAllChildViews(view);}private List getAllChildViews(View view) {List ...

weixin_35974392的博客 608

Android -- DecorView

DecorView 开发中,通常都是在onCreate()中调用setContentView(R.layout.custom_layout)来实现想要的页面布局。页面都是依附在窗口之上的,而DecorView即是窗口最顶层的视图。Android frameworks中,与窗口视图处理相关的类,主要是Window及其实现类PhoneWindow public class PhoneWindo...

weixin_33672109的博客 334

获取 Activity中所有的View ViewGroup

获取 Activity中所有的View ViewGroup 返回View Activity.getWindow().getDecorView() 返回ViewGroup (ViewGroup)Activity.getWindow().getDecorView() 原文:从赵子龙的文章获取

MoonAndroid的博客 2040

android获取当前activity view,Android中如何通过View获取Activity

在开发过程中,我们会遇到下面情况:Button button = (Button) findViewById(R.id.btn);button.setOnClickListener(MainActivity.this);if(button instanceof AppCompatButton){Log.d("HHHHH","====button is appCompatButton====");}...

weixin_42544838的博客 2966

activity启动时获取view的高度和宽度

我们在开发过程中经常会遇到在activity启动时就需要获取view的高度和宽度,我们发现在oncreate、onresume,onstart这几个方法中都无法正确的获取view的高度和宽度。很多时候获取到的值都是0 。这让我头疼了很久,查看资料,以及源码分析,终于找到了解决的办法,在下边和小伙伴们分享,分享。       (1)activity/view#onwindowfocuschange

qq_28273051的博客 851

关于Activity获取View宽高的那些事

关于Activity获取View宽高的那些事   现在有一个业务需求,需要在Activity已启动的时候做一个任务,该任务需要获取某个View的宽/高。直接的想法是从Activity的onCreate或者onResume里面去获取这个View的宽/高。但是实际上在onCreate、onStart、onResume中均无法获取正确的宽/高信息。   原因在于View的Measure过程和Acti...

weixin_38196407的博客 894

android 获取activity的根view

android 获取activity的根view((ViewGroup) (yourActivity.findViewById(android.R.id.content))).getChildAt(0);

Panedoll的博客 1302

android笔记----通过View获取Activity

通过View获取Activity public static Activity getActivityFromView(View view) { if (null != view) { Context context = view.getContext(); while (context instanceof ContextWrapper) { if (context instanceof Activity) { return (Activity) con

u010963053的博客 1496

Android 获取activity 所有的view

Android 获取activity 所有的view /** * @note 获取activity所有view */ public List getAllChildViews() { View view = this.getWindow().getDecorView(); return getAllChildViews(view); } private List getAllChildViews(View view

Mr、老鬼的博客 2327

获取android activity view,Android的Activity获取View宽高的常用方式

假如我们在Activity已经启动完之后,需要获取一个View的宽/高。可能大部分人都试过在onCreate、onStart、onResume中获取宽/高,然而获取的结果均为 0。这是因为View的measure过程和Activity的生命周期并不是同步执行的,因此无法保证在onCreate、onStart、onResume中获取宽/高时View已经测量完了,如果没有测量完,获得的宽/高就是0。我...

weixin_42226397的博客 611

android 如何获得activityview对象,android – 在View上下文中获取Activity对象

这是这篇文章的后续内容:基于Romain Guy的反馈(我很快会接受它作为解决方案),我想从View获取调用Activity,以便我可以使用它来获取所需的TextView资源.我没有在View中看到任何返回Activity的方法.这样做的正确方法是什么?或者在另一个View上下文中使用TextViews是否有更好的选择.基本上,我在onCreate()中调用setContentView(R.la...

weixin_33103961的博客 590

android----activity获取view

结果:能够正常跳转,说明正确无误。

饭松闹钟app,从现在开始放松 251

android 获取activity大小,Android中如何正确的在Activity获取View的宽高

问题:我们的Activity中有一张上面的图片ImageView,现在想测量一下,这个ImageView的宽高尺寸,我们该怎么做呢?我们要测量一个View的尺寸,那么肯定要在这个View夹在完成之后。由于View的measure过程和Activity的生命周期不是同步执行的,所以在Activity的 onCreate, onStart, onResume生命周期的回调中,我们是无法获取到一个Vie...

weixin_39519619的博客 826

Android中如何通过View获取Activity

在开发过程中,我们会遇到下面情况: Button button = (Button) findViewById(R.id.btn); button.setOnClickListener(MainActivity.this); if(button instanceof AppCompatButton){ Log.d("HHHHH","====button is appCompatButt...

Dream It Possible 1万+

android activity view 获取高度,Android 开发 Activity获取View的宽度和高度 转载

前言:可能很多情况下,我们都会有在activity获取view 的尺寸大小(宽度和高度)的需求。面对这种情况,很多同学立马反应:这么简单的问题,还用你说?你是不是傻。。然后立马写下getWidth()、getHeight()等方法,洋洋得意的就走了。然而事实就是这样的吗?实践证明,我们这样是获取不到View的宽度和高度大小的,可能很多同学又会纳闷了,这是为什么呢?一直不都是这样获取大小的嘛!疑问...

weixin_36369656的博客 393

Android获取activity的所有子view(使用到递归)

...

米小豆的博客 1万+

获取android activity view,Android:在activity一启动就获取View的宽高

问题:在onCreate、onStart或者onResume方法中无法正确获取某个View的宽高原因是View的measure过程和Activity的生命周期方法不是同步执行的,因此无法保证Activity执行了onCreate、onStart、onResume时某个View已经测量完毕了,如果View没有测量完毕,那么获得的宽高就是0。这里给出以下三种方法来解决这个问题:1. Activity/...

weixin_32533659的博客 188
上一篇: android utest 测试
下一篇: 获取VIEWPAGER中的FRAGMENT
qrsssh
博客等级 码龄19年 18粉丝 3原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值