我下载图片并使用Imageview
将其动态设置为屏幕背景。我已经尝试过ScaleType
,来缩放图像。
如果图像高度大于宽度,则ScaleTypes
fitStart
、fitEnd
和fitCenter
不起作用。Android缩小了照片,并根据高度适合它,但我看到一些额外的空白空间作为宽度的一部分。
我想根据宽度缩小照片,使其适合宽度,我不关心是否有一些额外的空白作为高度的一部分,或者如果高度太长,如果它离开视图也没问题(如果这是可能的?)。
ScaleType.XY
缩放照片并适合ImageView
中的所有内容,而不关心图像的高/重比。
<ImageView
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitStart"
/>
发布于 2013-04-03 20:06:29
我最终使用了以下代码:
<ImageView
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/name"
/>
确保使用src
而不是background
设置图像。
发布于 2014-09-08 23:01:35
android:adjustViewBounds="true"
完成了这项工作!
发布于 2012-08-23 04:10:57
这个优雅的解决方案发现了here,它将对您产生巨大的吸引力。
基本上,您只需创建一个扩展ImageView
的小类,并简单地覆盖onMeasure
方法来根据需要调整宽度和高度。在这里,它通过使用以下命令缩放以适合宽度:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int width = MeasureSpec.getSize(widthMeasureSpec);
int height = width * getDrawable().getIntrinsicHeight() / getDrawable().getIntrinsicWidth();
setMeasuredDimension(width, height);
}
您可以像这样使用这个特殊的ImageView
:
<your.activity.package.AspectRatioImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical"
android:src="@drawable/test" />
https://stackoverflow.com/questions/12059328
复制相似问题