Я делаю виджет домашнего экрана для Android и хочу использовать анимацию Lottie в виджете. Я знаю, что LottieAnimationView
не поддерживается, так как виджет поддерживает только некоторые представления. Но могу ли я использовать этот пользовательский рисуемый ЛоттиDrawable для использования в ImageView в виджете?
Нет простите. Вы можете использовать только доступные для рисования ресурсы или растровые изображения, а не объект Drawable
.
Хотя в вашем приложении есть Lottie, ваше приложение не отображает виджет приложения. На главном экране отображается виджет приложения. Следовательно, система RemoteViews
ограничивает вас вещами, которые являются частью фреймворка, которые сможет использовать любой домашний экран.
@PedroRomanoBarbosa: Если вы посмотрите на JavaDocs для RemoteViews
, вы не найдете никаких методов, которые принимают параметр Drawable
.
Да, это возможно. Попробуйте что-то вроде этого:
Paint p = new Paint();
p.setAntiAlias(true);
p.setStyle(Style.STROKE);
p.setStrokeWidth(8);
p.setColor(0xFFFF0000);
Bitmap bitmap = Bitmap.createBitmap(100, 100,
Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawArc(new RectF(10, 10, 90, 90), 0, 270, false, p);
RemoteViews views = new
RemoteViews(updateService.getPackageName(), R.layout.main);
views.setImageViewBitmap(R.id.canvas, bitmap);
ComponentName componentName = new
ComponentName(updateService,
DashboardAppWidgetProvider.class);
AppWidgetManager appWidgetManager =
AppWidgetManager.getInstance(updateService);
appWidgetManager.updateAppWidget(componentName,
views);
Я не знал разницы между ресурсами для рисования и объектом для рисования. Есть ли документ подтверждающий это? Спасибо!