Не удается преобразовать ViewGroup в растровое изображение

Мне нужно конвертировать RelativeLayout к растровому изображению, чтобы разместить его как Marker за GoogleMaps,

Я перепробовал много подходов, на которые мы ответили здесь, в SO, например: конвертировать представление в растровое изображение на Android и других, но я всегда получаю черный вид в правильном размере. Я пытаюсь использовать его в примере деятельности, которая имеет только ImageView с setImageBitmap(bitmap);

    // Convert a view to bitmap
    public static Bitmap CreateDrawableFromView(Context context, View view)
    {

        var markerDiameter = context.Resources.GetDimension(Resource.Dimension.map_marker_diameter);
        view.LayoutParameters = new RelativeLayout.LayoutParams((int)markerDiameter, (int)markerDiameter);
        view.Measure(view.LayoutParameters.Width, view.LayoutParameters.Height);
        view.Layout(0, 0, view.MeasuredWidth, view.MeasuredHeight);

        Bitmap bitmap = Bitmap.CreateBitmap(view.MeasuredWidth, view.MeasuredHeight, Bitmap.Config.Argb8888);

        Canvas canvas = new Canvas(bitmap);
        view.Draw(canvas);

        return bitmap;
    }

Я не уверен, что я делаю не так. Любой совет?

РЕДАКТИРОВАТЬ: проблема была в моем собственном макете, а не в коде, преобразовать его в Bitmap,

0 ответов

Другие вопросы по тегам