Android. AppWidgetProvider. RemoteViews. Создание Bitmap из CustomView

Виджеты рабочего стола Android не поддерживают в layout файле использование customView. см https://developer.android.com/reference/android/widget/RemoteViews. Из чего появилась идея создать из кастомной view bitmap и разместить в ImageView. Но при создании Bitmap arc отрисовывается некорректно, заливая всю отведенную есть область, причем в приложении рассчеты корректны. Любые идеи почему так происходит ?

Как создаю view и bitmap из нее:

  val views = RemoteViews(context.packageName, R.layout.widget_layout)

  fun getBitmapFromView(view: View): Bitmap {
     val bitmap = Bitmap.createBitmap(
         view.width, 
         view.height, 
         Bitmap.Config.ARGB_8888,
     )
     val canvas = Canvas(bitmap)
     view.draw(canvas)
     return bitmap
  } 

  val myView = MyView(context)
  myView.measure(size, size)
  myView.layout(0, 0, size, size)

  views.setImageViewBitmap(R.id.imageView, getBitmapFromView(myView))

Пробовал:

  1. добавлять в манифест android:hardwareAccelerated="false"
  2. Видел что у кого-то были проблемы с методом canvas.drawArc(). Пробовал сделать тоже самое через canvas.drawPath(), но безрезультатно

Как view выглядит в приложении, и что получается на выходе при преобразовании в bitmap:

Как view выглядит в приложении

так выглядит на виджете


Ответы (0 шт):