我的问题
假设我有一个位图-将其称为尺寸为100×75的bmap(bmap.getWIDth()x bmap.getHeight())
假设我有一个矩形,矩形,坐在电话屏幕上的一点(x,y),尺寸为500×350(宽x高)
我怎么写一段代码,将这个位图放在边界矩形内.
注意:因为我使用的是ContraintLayout,所以没有父级或相对性的概念.
另外,我想要一个在(0,1]范围内的缩放变量,该变量缩放bmap,但它将其位置保持在边界矩形rect的中心.
我的可怕尝试:
ImageVIEw imgVIEw = new ImageVIEw(this.context);imgVIEw.setMaxWIDth((int)(wIDth*scale));imgVIEw.setMinimumWIDth((int)(wIDth*scale));imgVIEw.setMaxHeight((int)(height*scale));imgVIEw.setMinimumHeight((int)(height*scale));imgVIEw.setimageBitmap(bmap);imgVIEw.setX(x+((wIDth-bmap.getWIDth())/2));imgVIEw.setY(y+((height-bmap.getHeight())/2));imgVIEw.setAdjustVIEwBounds(true);constraintLayout.addVIEw(imgVIEw);
这给出了以下结果(绿色圆圈的比例= 1,红色圆圈的比例= 0.6
有任何想法吗?我真的被卡住了.
解决方法:
对于这个问题,我看到的最简单的解决方案是使用androID提供的容器来帮助我们获得此行为.首先,可以在约束布局内使用相对布局.没问题.使用两个相对布局以及其中的图像视图,只需使用centerInParent属性即可完成 *** 作.我强烈建议不要以编程方式调整视图的大小.使用您拥有的容器和工具.
总结以上是内存溢出为你收集整理的android-以编程方式缩放和居中imageView给定的矩形范围全部内容,希望文章能够帮你解决android-以编程方式缩放和居中imageView给定的矩形范围所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)