TL; DR:将可绘制对象设置为ImageView时看起来不错(请参见附件-顶部)。用位图(setImageBitmap)替换它并再次设置为原始(setImageBitmap(null)&setBackgroundResource(R ...))会导致可绘制对象被拉伸(请参阅atachment-底部)。
ImageView元素在启动应用程序时具有资源图像,并且看起来很好并且没有拉伸。如果用户通过使用其他活动来放置其标志,则使用ImageView显示其标志的小缩略图,并且使用setImageBitmap()覆盖ImageView。
发生问题,当用户保存草稿并且所有字段都为空时。清空包含setImageBitmap(null)和setBackGroundResource(R.drawable.ACTUAL_IMAGE_OF_IMG_VIEW)。
重置ImageView(删除位图并设置实际背景)后,背景图像将被拉伸(请参见所附图片:
更改设备的方向(横向和纵向),图像再次正常。在图像的背景上也有网格线,这绝对不是源于资源图像。
希望听到您解决此问题的方式。
编辑-代码:
// Inserting Bitmap
private void insertSignature(){
ivSign.setImageBitmap(signature);
}
// setting signature -> null and adding icon again as background
private void ResetInputFields(){
ivSign.setImageBitmap(null);
ivSign.setBackgroundResource(R.drawable.sign_pen);
// TRIED ALREADY:
// ivSign.setBackground(getResources().getDrawable(R.drawable.sign_pen));
}
添加到imageView的XML代码中
android:scaleType="fitCenter"
或
android:scaleType="centerInside"
并且将保持其原始比例