获取到Android控件的高度
2016-06-28 13:45
344 查看
1.自己来测量
int w = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
imageView.measure(w, h);
int height = imageView.getMeasuredHeight();
int width = imageView.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;
}
});
3.全局的布局改变监听器
ViewTreeObserver vto = imageView.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
imageView.getHeight();
imageView.getWidth();
}
});
int w = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
imageView.measure(w, h);
int height = imageView.getMeasuredHeight();
int width = imageView.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;
}
});
3.全局的布局改变监听器
ViewTreeObserver vto = imageView.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
imageView.getHeight();
imageView.getWidth();
}
});
相关文章推荐
- 自定义圆形进度条,金额百分比
- 创建、配置Service
- android-android.graphics.Camera
- Android图片特效:黑白特效、圆角效果、高斯模糊
- Android Studio 笔记之SexyEditor,设置背景
- 关于对Android的videoView和mediaController的吐槽
- Android 软键盘属性
- android 两个应用之间的通信与调用
- Android 用HorizontalScrollView实现滑动标签tabView
- 使用 Intel HAXM 为 Android 模拟器加速,媲美真机
- android开发—第一步:android开发环境搭建
- 如何获取Android系统中申请对象的信息
- Android开发-layout布局相关属性总结
- Android刮彩票效果
- Android中解析JSON总结
- Android progressbar 详解
- Android stadio 自定义debug release keystore
- Android网络数据开关用法简单示例
- Android adt bundle 开发环境配置及第一个“Hello world”程序运行
- Android 在代码中为textview设置自定义的颜色