Android获取View的宽高
来源:互联网 发布:200元算网络诈骗吗 编辑:程序博客网 时间:2024/04/30 16:26
有时我们需要在Activity中获取某个View的宽高,但是在onCreate(),onStart(),onResume()中使用view.getHeight()和view.getWidth()方法获取View的宽高,获取到的值竟然都是0,是不是很无语,
这里给出几种获取View宽高的方法
//第一种
<span style="white-space:pre"></span>@Overridepublic void onWindowFocusChanged(boolean hasFocus) {super.onWindowFocusChanged(hasFocus);if (hasFocus) {int height = view.getHeight();int width = view.getWidth();Log.e("onWindowFocusChanged-------", " width=" + width + " height="+ height);}}
//第二种,会执行很多次
private void getViewSize(final View view) {<span style="white-space:pre"></span>ViewTreeObserver vto = view.getViewTreeObserver();vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {@Overridepublic boolean onPreDraw() { int height = view.getMeasuredHeight(); int width = view.getMeasuredWidth(); Log.e("OnPreDraw-------", " width=" + width + " height="+ height); return true;} });}
//第三种
private void getViewSize2(final View view) {ViewTreeObserver viewTreeObserver = view.getViewTreeObserver();viewTreeObserver.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {view.getViewTreeObserver().removeGlobalOnLayoutListener(this);int width = view.getWidth();int height = view.getHeight();Log.e("onGlobalLayout-------", " width=" + width+ " height=" + height);}});}
//第四种
private void getViewSize3(final View view) {<span style="white-space:pre"></span>view.post(new Runnable() {<span style="white-space:pre"></span>@Overridepublic void run() {int width = view.getWidth();int height = view.getHeight();Log.e("postRunnable-------", " width=" + width + " height="+ height);}});}
0 0
- Android获取View的高宽
- Android 如何获取view的宽高
- Android 获取View的宽高
- Android获取View的宽高
- Android获取View的宽高
- Android:获取View的宽高
- android 获取view的宽高
- android获取view宽高的时机
- Android 获取View的宽高
- Android 获取view的宽高方法
- Android-获取view的宽高
- Android获取View的宽高与View.measure详解
- Android获取View的宽高与View.measure详解
- 获取View的宽高
- android 获取控件的宽高和view的位置
- Android获取View的高宽的方式
- Android--获取View的宽高的几种方法
- Android中获取View的宽/高的时机
- 博客搬家啦
- 关于favicon.ico
- 真机调试错误总结---does not match your bundle identifier
- 解决Xshell中文乱码问题
- 分类算法中的ROC与PR指标
- Android获取View的宽高
- hdu 1558(线段相交+并查集)
- deque
- VS 开发中的字符串转换 (二)
- 343. Integer Break
- RxJava 混淆配置
- ubuntu服务器自动自动编译脚本并且每天定时自动执行
- Javascript图标库
- 音频和视频播放器的简单实现