android代码中获取view的宽高方式
来源:互联网 发布:lcd1602与单片机连接图 编辑:程序博客网 时间:2024/04/26 05:25
通过代码方式获取view的宽高方式记录
方式1:
img = (ImageView) findViewById(R.id.iv_img); int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); img.measure(w, h); int height = img.getMeasuredHeight(); int width = img.getMeasuredWidth();方式2:
ViewTreeObserver vto = imageView.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { public boolean onPreDraw() { vto.removeOnPreDrawListener(this); int height = imageView.getMeasuredHeight(); int width = imageView.getMeasuredWidth(); return true; } });注册一个ViewTreeObserver的监听回调,该回调专门监听绘图的,所以可以获取测量值了,同时,我们在每次监听前remove前一次的监听,避免重复监听。
方式3:
ViewTreeObserver vto = imageView.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this); imageView.getHeight(); imageView.getWidth(); } });全局的布局改变监听器,优先最推荐使用
0 0
- android代码中获取view的宽高方式
- Android获取View的高宽的方式
- Android获取View宽高的几种方式
- Android获取View宽高的几种方式
- Android获取View宽高的几种方式
- Android获取View宽高的几种方式
- onCreate中获取view宽高的几种方式
- Android中获取View的宽/高的时机
- Android在onCreate方法中获取view的宽高
- android中获取View宽高的方法
- Android中获取View宽高方法
- Android获取View的高宽
- Android 如何获取view的宽高
- Android 获取View的宽高
- Android获取View的宽高
- Android获取View的宽高
- Android:获取View的宽高
- android 获取view的宽高
- 【git】RPC failed; result=56, HTTP code = 200错误解决
- 客户端---样式表md
- macOS && Xcode8安装RVM,安装Ruby,安装/卸载Cococapods全程详解
- 1613-3-傅溥衍 总结《2016年12月15日》【连续第七十六天总结】
- 文件夹共享注意事项
- android代码中获取view的宽高方式
- 正则表达式(Regex)
- Shell—变量、字符串和数组
- 客户端----属性md
- html01
- 贪吃蛇25%
- 客户端----时间md
- html02
- 九连环所有步骤