Android ImageView条纹背景

问题描述 投票:0回答:1

TL; DR:将可绘制对象设置为ImageView时看起来不错(请参见附件-顶部)。用位图(setImageBitmap)替换它并再次设置为原始(setImageBitmap(null)&setBackgroundResource(R ...))会导致可绘制对象被拉伸(请参阅atachment-底部)。

ImageView元素在启动应用程序时具有资源图像,并且看起来很好并且没有拉伸。如果用户通过使用其他活动来放置其标志,则使用ImageView显示其标志的小缩略图,并且使用setImageBitmap()覆盖ImageView。

发生问题,当用户保存草稿并且所有字段都为空时。清空包含setImageBitmap(null)和setBackGroundResource(R.drawable.ACTUAL_IMAGE_OF_IMG_VIEW)。

重置ImageView(删除位图并设置实际背景)后,背景图像将被拉伸(请参见所附图片:

ImageView - Before & After

更改设备的方向(横向和纵向),图像再次正常。在图像的背景上也有网格线,这绝对不是源于资源图像。

希望听到您解决此问题的方式。

编辑-代码:

// 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));
}
android imageview android-imageview
1个回答
0
投票

添加到imageView的XML代码中

 android:scaleType="fitCenter"

 android:scaleType="centerInside"

并且将保持其原始比例

© www.soinside.com 2019 - 2024. All rights reserved.