Android 位图不';不要在画布上画画

Android 位图不';不要在画布上画画,android,android-canvas,android-bitmap,android-gallery,dynamiclayout,Android,Android Canvas,Android Bitmap,Android Gallery,Dynamiclayout,我希望在不改变纵横比的情况下从我的CustomView中的Gallery加载图像,然后我希望在上面绘制 我从MainActivity动态添加了一个自定义视图,如下所示: @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data

我希望在不改变纵横比的情况下从我的CustomView中的Gallery加载图像,然后我希望在上面绘制

我从MainActivity动态添加了一个自定义视图,如下所示:

 @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(data!=null && requestCode==PICK_PHOTO_CODE)
        {
            Uri photoUri=data.getData();
            Glide.with(context).asBitmap().load(photoUri).into(new CustomTarget<Bitmap>() {
                @Override
                public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
                    source_bitmap=resource;
                    RelativeLayout rL=findViewById(R.id.relative);
                    CustomView customView=new CustomView(getApplicationContext(),source_bitmap);
                    RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(source_bitmap.getWidth(),source_bitmap.getHeight());
                    customView.setLayoutParams(params);
                    rL.addView(customView);
                }

                @Override
                public void onLoadCleared(@Nullable Drawable placeholder) {

                }
            });
        }
    }

问题是从图库中选择的图像的位图没有在上面绘制,我想不出问题出在哪里。有人能帮忙吗?

问题出在onDraw方法中,已传递的画布应用于绘制,即画布,而不是mCanvas。所以

而不是

mCanvas.drawBitmap(bitmap,0,0,null);
使用

只有这样我们才能看到结果。在前一种情况下,它确实会被绘制,但与自定义视图关联的画布是canvas,而不是mCanvas。
这是我的理解。如果发现任何不正确的地方,请发表评论。

您是否检查了resource==null?是的,我检查了,这不是问题:(
从库中选择的图像
确定。但是您是否尝试了其他图像?提供更多信息。您如何从库中选择图像?
mCanvas.drawBitmap(bitmap,0,0,null);
canvas.drawBitmap(bitmap,0,0,null);