圆形图像水平或垂直伸长

时间:2014-07-12 03:41:51

标签: android android-layout android-imageview android-inflate android-bitmap

我必须显示一个具有圆形物体(球)的飞溅图像。启动布局是一个简单的线性布局,只有一个图像视图占据整个屏幕。

图像:单张图像,大小为1280 x 720。

当我的应用程序中显示我的启动画面时,圆形对象以不同的屏幕尺寸显示为不同的形状。我希望纵横比和分辨率是这些细长图像的原因。

你能否提出一个解决这个问题的想法/方法? 我是否需要考虑宽高比或分辨率或两者兼而有之?

最后球在所有装置中应该看起来像一个球:)

先谢谢。

3 个答案:

答案 0 :(得分:1)

1)是的,默认情况下,Android会缩小图像以适应ImageView,保持纵横比。但是,请确保使用android:src="..."而不是android:background="..."将图像设置为ImageView。 src=使其缩放图像维持宽高比,但background=使缩放使图像失真,使其完全符合ImageView的大小。 (您可以同时使用背景和源,这对于仅使用一个ImageView在主图像周围显示框架等内容非常有用。)

2)您还应该看到android:adjustViewBounds以使ImageView调整自身大小以适应重新缩放的图像。例如,如果在通常为正方形的ImageView中有一个矩形图像,adjustViewBounds = true将使ImageView的大小也变为矩形。这会影响其他视图在ImageView周围的布局方式。

您可以使用android:scaleType参数更改默认缩放图像的方式。顺便说一下,发现它是如何工作的最简单方法就是自己试验一下!请记住在模拟器本身(或实际手机)中查看布局,因为Eclipse中的预览通常是错误的。

参考:How to scale an Image in ImageView to keep the aspect ratio

答案 1 :(得分:0)

设置imageView属性

<强> scaleType =&#34; centerInside&#34;

答案 2 :(得分:0)

在文件夹&#39; res-&gt; drawable&#39;,&#39; res-&gt; drawable-ldpi&#39;,&#39; res-下添加具有相同文件名的图像的缩放版本&GT;可拉伸-HDPI&#39;并在xhdpi&#34; http://developer.android.com/guide/practices/screens_support.html#DesigningResources&#34;