如何从 url 在 android 中播放 gif?
Posted
技术标签:
【中文标题】如何从 url 在 android 中播放 gif?【英文标题】:How to play gif in android from url? 【发布时间】:2016-04-06 09:31:31 【问题描述】:我想在 android 应用程序(如 imgur 应用程序)中从 url 播放动画 gif。 Imgur 非常棒,而且速度非常快。我正在使用 webview 加载 gif,但它没有达到标准。
【问题讨论】:
你可以使用 glide 库。由 nick butcher 设计的格子项目展示了如何显示 gif。github.com/nickbutcher/plaid 引用***.com/questions/3660209/display-animated-gif的这些链接以及droid-blog.net/2011/10/14/…的另一个ID 我也试过滑翔,但它不起作用。 尝试 gifview 库:github.com/felipecsl/GifImageView 好的,让我试试上面的所有链接。希望一个应该正常工作。 【参考方案1】:您可以将 imageview 设置为:
<com.example.androidgif.GifView
android:id="@+id/gifview"
android:layout_
android:layout_ />
按照本教程,您可以做到:
http://android-er.blogspot.de/2014/03/load-animated-gif-from-internet.html
【讨论】:
【参考方案2】:您可以使用Glide 在ImageView
上播放 gif。所以,让我们将它添加到您应用的 gradle 中:
repositories
mavenCentral()
dependencies
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.android.support:support-v4:23.1.1'
然后,创建一个ImageView
:
<ImageView
android:id="@+id/imageView"
android:contentDescription="@string/content"
android:layout_
android:layout_/>
在你的活动中:
Glide
.with(context) // replace with 'this' if it's in activity
.load("http://www.google.com/.../image.gif")
.asGif()
.error(R.drawable.error_image) // show error drawable if the image is not a gif
.into(R.id.imageView);
欲了解更多信息,请打开此帖子Glide — Displaying Gifs & Videos。
【讨论】:
谢谢它的工作,但需要时间。我需要快速输出。 @user3606902,您可以使用WebView
代替:***.com/a/21018730/3922207
这需要时间,因为它首先会被下载到缓存中。如果您想要快速输出,请将其打包到您的资产文件夹中的 apk 中并从那里访问它。【参考方案3】:
直接从 URL 到应用布局显示动画 GIF 的简单方法是使用 WebView 类。
第 1 步:在您的布局 XML 中
<WebView
android:id="@+id/webView"
android:layout_
android:layout_
/>
第 2 步:在您的活动中
WebView wb;
wb = (WebView) findViewById(R.id.webView);
wb.loadUrl("https://.......);
第 3 步:在您的 Manifest.XML 中设置 Internet 权限
<uses-permission android:name="android.permission.INTERNET" />
第 4 步:如果您想让 GIF 背景透明并使 GIF 适合您的布局
wb.setBackgroundColor(Color.TRANSPARENT);
wb.getSettings().setLoadWithOverviewMode(true);
wb.getSettings().setUseWideViewPort(true);
【讨论】:
【参考方案4】:大家好,请问如何在 android studio 中从 url 显示 gif 只需按照我的引导:
首先我们要使用glide库所以我们需要实现依赖
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
第二个同步你的 gradle 之后要做的事情是去你的 xml 并创建一个新的 imageView
<ImageView
android:layout_
android:layout_
android:id="@+id/image_id"
android:layout_centerInParent="true"/>
和 finally 转到您的 mainActivity 或与此 xml 相关的活动: 首先声明 ImageView 并像这样在 onCreate 中找到 id:
public ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState)
setContentView(R.layout.activity_main);
imageView=findViewById(R.id.image_id);
最后一件事是使用 glide 库从 Url 显示 gif 是的:
Glide.with(this).load("https://media.giphy.com/media/xT5LMJmXRmrn3ft04w/giphy.gif").into(imageView);
就是这样但是如果您想使用可绘制的 gif,请改用此行:
Glide.with(this).load(R.drawable.imageGif).into(imageView);
这是 Glide 库: https://github.com/bumptech/glide
【讨论】:
以上是关于如何从 url 在 android 中播放 gif?的主要内容,如果未能解决你的问题,请参考以下文章
android - 如何在 android 应用程序活动中播放 gif 而不是稳定的 ImageView
如何在 Android 中播放在线广播流 url。如何在 android 中播放 .pls 广播流 url