尺寸调整那部分的数学理论不懂

Lurking Android基础知识-传感器... 最后由 Lurking 于2015年01月26日回复

  • 2 回答
  • 1.3k 浏览
if (width * previewHeight > height * previewWidth) {
  
  final int scaledChildWidth = previewWidth*height/previewHeight;
  
  child.layout((width - scaledChildWidth)/2,0,(width+scaledChildWidth)/2,height);
  child.layout(100, 100, 340, 240);
} else {
  final int scaledChildHeight = previewHeight*width/previewWidth;
  child.layout(0, (height - scaledChildHeight) / 2, width,(height +     scaledChildHeight)/2);
}

width * previewHeight > height * previewWidth是什么意思?为什么这么计算?

previewWidth*height/previewHeight,什么意思?为什么要这么计算?公式或者原理是什么?

  • 极客学院-媛儿 2015年01月26日 回答 #1楼
  • 这段代码的目的是适应预览到最小,居中显示,

    width * previewHeight 是ViewGroup实际宽度*显示高度,即手机显示大小

    同理height * previewWidth是图片显示大小

    previewWidth*height/previewHeight求的是实际宽度啊width

  • 0 评论
  • Lurking 2015年01月26日 回答 #2楼
  • ViewGroup的大小接近于手机显示的大小,应该是width * height,为什么要是width * previewHeight?我就是不明白这点。图片的大小,也应该是显示的高度乘以显示的宽度啊,为什么是height * previewWidth?

    是什么几何原理或公式?

  • 0 评论