我在imageview中从oneActivity获取bitmap到secondSctivity。现在我希望这个位图与Imageview的大小相同。但是这段代码现在正在运作。
ViewTreeObserver vto = ph.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
ph.getViewTreeObserver().removeOnPreDrawListener(this);
ph.getMeasuredWidth();
ph.getMeasuredHeight();
return true;
}
});
// set contact Photo Bitmap in Image view-------------------------------------------------
byte[] byteArray = getIntent().getByteArrayExtra("image");
if (byteArray != null) {
bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
}
if (bmp != null) {
Bitmap bmpimg = Bitmap.createScaledBitmap(bmp,ph.getMeasuredWidth(),ph.getMeasuredHeight() , true);
ph.setImageBitmap(createRoundedBitmap(bmpimg,5));
} else {
ph.setImageResource(R.drawable.upload_photo);
}
我必须为此做些什么?
答案 0 :(得分:0)
你可以通过imageViewObject.getWidth()得到ImageView
大小;和obj.getHeight();然后按照未经测试的值对你的位图进行缩放。
Bitmap bmpimg = Bitmap.createScaledBitmap(bmp, obj.getWidth(), getHeight(), true);
我希望这会有所帮助。
答案 1 :(得分:0)
这是一个非常简单易用的解决方案,我相信它对您有用 使用" scaleType"您的xml文件中的ImageView属性 保持为" scaleType = fitXY" 这里是最热门的
<ImageView
android:id="@+id/img1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitXY"/>
享受编码