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))
Пробовал:
- добавлять в манифест
android:hardwareAccelerated="false"
- Видел что у кого-то были проблемы с методом
canvas.drawArc()
. Пробовал сделать тоже самое черезcanvas.drawPath()
, но безрезультатно
Как view выглядит в приложении, и что получается на выходе при преобразовании в bitmap: