我想将位图设置为视图背景而不进行拉伸,我想将视图宽度和高度更改为wrap-content。我想将视图的宽度和高度保持为匹配父级。我已经设置了如下所示的视图背景,其中mDrawingView是一个扩展View的自定义视图。
Bitmap tempBitmap = BitmapFactory.decodeFile(copy.getAbsolutePath());
mDrawingView.setBackground(new BitmapDrawable(getResources(), tempBitmap));
我的布局文件如下所示,
<MyPackageName.DrawingView
android:id="@+id/drawing_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"/>
请注意我没有使用imageview。
请建议我任何想法?
答案 0 :(得分:1)
我更改了我的DrawingView,它扩展了Imageview而不是View,然后设置如下位图
Bitmap bitmap = BitmapFactory.decodeFile(copy.getAbsolutePath());
mDrawingView.setImageBitmap(bitmap);
现在位图在imageview上显示而不会拉伸并且工作正常。
感谢您的宝贵意见和答案。
答案 1 :(得分:0)
如果您使用的是图片视图,则可以执行以下操作
ImageView.ScaleType
可以是CenterCrop,fit等你可以在这里阅读它的android原生支持 https://developer.android.com/reference/android/widget/ImageView.ScaleType.html
答案 2 :(得分:0)
你可以做到
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setImageResource(R.drawable.res_id);
其中res_id
是可绘制文件夹中的资源ID。