android获取一个view的高度,Android应用开发之Android 获取View高度宽度

本文将带你了解Android应用开发之Android 获取View高度宽度,希望本文对大家学Android有所帮助。

Android   获取View高度宽度

等待View加载完成

Java代码    final ImageView iv = (ImageView) findViewById(R.id.iv_test);          iv.setImageResource(R.drawable.abc);                    //等待ImageVivew加载完成          iv.post(new Runnable(){                 @Override              public void run() {                  // TODO Auto-generated method stub                                    //ImageView的宽和高                  Log.d("lxy", "iv_W = " + iv.getWidth() + ", iv_H = " + iv.getHeight());                    //获得ImageView中Image的真实宽高,                  int dw = iv.getDrawable().getBounds().width();                  int dh = iv.getDrawable().getBounds().height();                  Log.d("lxy", "drawable_X = " + dw + ", drawable_Y = " + dh);                                    //获得ImageView中Image的变换矩阵                  Matrix m = iv.getImageMatrix();                  float[] values = new float[10];                  m.getValues(values);                                    //Image在绘制过程中的变换矩阵,从中获得x和y方向的缩放系数                  float sx = values[0];                  float sy = values[4];                  Log.d("lxy", "scale_X = " + sx + ", scale_Y = " + sy);                                    //计算Image在屏幕上实际绘制的宽高                  int cw = (int)(dw * sx);                  int ch = (int)(dh * sy);                  Log.d("lxy", "caculate_W = " + cw + ", caculate_H = " + ch);              }});  final   ImageView iv = (ImageView) findViewById(R.id.iv_test);

iv.setImageResource(R.drawable.abc);

//等待ImageVivew加载完成

iv.post(new Runnable(){

@Override

public void run() {

// TODO Auto-generated method stub

//ImageView的宽和高

Log.d("lxy", "iv_W = " + iv.getWidth() + ",   iv_H = " + iv.getHeight());

//获得ImageView中Image的真实宽高,

int dw = iv.getDrawable().getBounds().width();

int dh = iv.getDrawable().getBounds().height();

Log.d("lxy", "drawable_X = " + dw + ",   drawable_Y = " + dh);

//获得ImageView中Image的变换矩阵

Matrix m = iv.getImageMatrix();

float[] values = new float[10];

m.getValues(values);

//Image在绘制过程中的变换矩阵,从中获得x和y方向的缩放系数

float sx = values[0];

float sy = values[4];

Log.d("lxy", "scale_X = " + sx + ", scale_Y =   " + sy);

//计算Image在屏幕上实际绘制的宽高

int cw = (int)(dw * sx);

int ch = (int)(dh * sy);

Log.d("lxy", "caculate_W = " + cw + ",   caculate_H = " + ch);

}});

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值