我正在为Android做一个主屏幕小部件,我想在小部件上使用Lottie动画。我知道LottieAnimationView
不被支持,因为该窗口小部件仅支持某些视图。但是我可以在小部件上的ImageView中使用此自定义可绘制LottieDrawable吗?
答案 0 :(得分:1)
不,对不起。您只能使用可绘制资源或位图,而不能使用Drawable
对象。
虽然您的应用程序具有Lottie,但您的应用程序未呈现应用程序小部件。主屏幕呈现应用程序小部件。因此,RemoteViews
系统将您限制为框架的一部分,任何主屏幕都可以使用。
答案 1 :(得分:0)
是的,可以尝试这样的事情-
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);