【问题标题】:How to display animated GIF picture in Android Widget which shows on Screen?如何在屏幕上显示的 Android Widget 中显示动画 GIF 图片?
【发布时间】:2016-05-09 09:13:40
【问题描述】:

我正在尝试在 Widget 中显示动画 GIF 图片,并且我有图片的 URL。我知道我可以在webView.loadUrl("http://my_url_here.gif") 的活动中使用 WebView,但 Android Widget 不支持 WebView。

我已经有了图片的 URL,我正在寻找一些不使用第三方库的方法。

有人知道如何在Widget中显示吗?

【问题讨论】:

  • 在其他人发布另一个不可行的答案之前,请注意 OP 正在谈论一个使用 RemoteViews 的 App Widget。

标签: android android-widget android-appwidget animated-gif


【解决方案1】:

没有办法在 RemoteViews 上显示 GIF 动画。您只能使用官方documentation中描述的小部件

【讨论】:

    【解决方案2】:

    您可以使用 gifView 库:https://github.com/koral--/android-gif-drawable

    使用这是你的 .xml:-

    <pl.droidsonroids.gif.GifImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/src_anim"
        />
    

    src_anim 是你的加载器 gif 文件

    【讨论】:

      【解决方案3】:

      您可以为此使用大量不同的图像加载库,但我推荐Fresco。他们有很好的内置 GIF 支持,详细的 on this page 代码如下所示:

      Uri uri = Uri.parse("http://my_url_here.gif");
      DraweeController controller = Fresco.newDraweeControllerBuilder()
          .setUri(uri)
          .setAutoPlayAnimations(true)
          . // other setters
          .build();
      mSimpleDraweeView.setController(controller);
      

      更新

      我从来没有真正理解不使用库的需要从何而来,但是您可以手动将所有代码类复制到您的应用程序中!这些库中的代码经过实战考验,比您决定单独编写的大多数代码更可靠。

      话虽如此,我过去使用过一个有用的gist,这可能就是您想要的。

      【讨论】:

      • 谢谢,但我想知道是否有不使用第三方库的方法
      • @HuayingHuang 我已经用我过去使用过的要点更新了答案 - 你能解释一下为什么你不能使用库吗?我很好奇。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多