【问题标题】:Playing a gif within an Android widget application在 Android 小部件应用程序中播放 gif
【发布时间】:2016-06-22 04:13:53
【问题描述】:

我正在做一个项目,我需要在 Android 小部件 ImageView 中播放 gif。为此,我尝试了所有可能的方法,使用 Glide 和像
https://github.com/felipecsl/GifImageView
https://github.com/koral--/android-gif-drawable

这样的库

我面临的问题

  1. Glide - 我无法将 gif 加载到 ImageView,因为 RemoteView 属性(即只能分配位图和资源,不能分配绘图)

  2. 库 - 我无法使用任何第三方库,因为所有库都扩展了 View(因为 RemoteView 不支持布局中的 View),因此无法实现 CustomView,因为没有分配或调用自定义方法的方法(因为setImageViewResourcesetImageViewBitmap 只是RemoteView 中揭示的可能方法)

我想做的事:

由于我找不到任何解决方案来满足此要求,因此我尝试通过下载 gif 并将其分解为多个帧作为Bitmap,然后计划在RemoteView 中使用这些帧来执行我自己的方法。如果可以实施任何其他解决方案来实现此功能,请帮助我。自过去 7 天以来,我一直在研究此问题,但找不到任何满足我要求的解决方案。任何类型的提示和建议都会对我很有帮助。提前致谢。

【问题讨论】:

  • 你可以使用 glide 从 drawables 加载 gif。
  • 你能帮我理解一下,RemoteView 是如何出现的吗?
  • 另外,它必须是 ImageView 还是您可以使用 WebView 等其他小部件?

标签: android bitmap android-drawable animated-gif android-remoteview


【解决方案1】:

是的,你可以使用 ImageViews 来加载 gif,这样:

ImageView imageView = (ImageView) findViewById(R.id.imageView);
GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(imageView);
Glide.with(this).load(YOUR_GIF).into(imageViewTarget);

【讨论】:

  • 实际上在远程视图中,您可以将任何值分配给imageview。
  • RemoteView remote = new RemoteView(this,R.layout.views);
  • remote.setImageBitmap(R.id.imageView,bitmap)
  • 你必须像上述方式一样分配。
猜你喜欢
  • 2014-08-26
  • 2015-09-24
  • 2011-11-10
  • 2020-06-14
  • 2015-03-28
  • 2015-10-22
  • 2012-07-01
  • 2012-04-30
  • 2014-07-11
相关资源
最近更新 更多