我希望在所有屏幕上都有一个固定x / y比率的ImageView。 例如着名的16/9比率。 而且我也希望ImageView尽可能大。 我怎么能在android中做到这一点? 非常感谢。
答案 0 :(得分:1)
上述答案将改变宽高比。
仅通过修改xml布局文件无法实现目标。您必须在Java代码中执行此操作。
基本步骤是:
分别计算x和y维度的缩放因子,并使用两个因子中较小的一个来缩放图像
factorX= ScreenWitdhInPixel/ImgWidth
factorY= ScreenHeightInPixel/ImgHeight
factor= (factorX<factorY?factorX:factorY)
使用步骤2中计算的因子值
来缩放图像 Matrix matrix = new Matrix();
matrix.postScale(factor, factor);
Bitmap scaledBitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
请参阅此帖子以获取完整示例:ImageView fit without stretching the image
答案 1 :(得分:0)
你必须设置android:scaleType =&#34; fitXY&#34;到你的imageView。
如果您希望ImageView与其父级一样大,您可以编写以下代码行:
android:layout_width="match_parent"
android:layout_height="match_parent"