我正在尝试从大于或小于此尺寸的图像创建大小为720 * 1280分辨率的图像,而不会裁剪和扭曲它。如果高度或宽度或两者都变小,同时填充空白区域中的颜色。第一张图像到第二张图像。
我尝试了这个,但无法获得所需的结果,也没有任何关于颜色选择的想法。
<ImageView
android:id="@+id/action_image"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:layout_width="720dp"
android:layout_height="1280dp" />
答案 0 :(得分:0)
//使用picasso库
尝试此代码int finalHeight, finalWidth;
final ImageView iv = (ImageView)findViewById(R.id.scaled_image);
ViewTreeObserver vto = iv.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
iv.getViewTreeObserver().removeOnPreDrawListener(this);
Picasso.with(context).load("url").resize(iv.getMeasuredWidth(), iv.getMeasuredHeight()).into(imageView);
return true;
}
});
答案 1 :(得分:0)
scaleType fitXY
可能会扭曲您的图像。将scaleType fitCenter
与您选择的背景颜色一起使用。
<ImageView
android:layout_width="720dp"
android:layout_height="1280dp"
android:background="#0f0"
android:scaleType="fitCenter"
android:src="@drawable/sample_good_perfect" />