加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Android显示网络gif图片

发布时间:2020-12-15 03:21:33 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 package?com.penngo.gif;import?android.app.Activity;import?android.content.Context;import?android.os.Environment;import?android.os.Bundle;imp

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

package?com.penngo.gif;

import?android.app.Activity;
import?android.content.Context;
import?android.os.Environment;
import?android.os.Bundle;
import?android.util.Log;
import?com.lidroid.xutils.HttpUtils;
import?com.lidroid.xutils.exception.HttpException;
import?com.lidroid.xutils.http.ResponseInfo;
import?com.lidroid.xutils.http.callback.RequestCallBack;

import?java.io.File;

import?pl.droidsonroids.gif.GifDrawable;
import?pl.droidsonroids.gif.GifImageView;

/**
?*
?*?https://github.com/koral--/android-gif-drawable
?*?https://github.com/wyouflf/xUtils
?*/
public?class?MainActivity?extends?Activity?{
????private?final?String?tag?=?"MainActivity-->";
????private?GifImageView?gif1;
????private?GifImageView?gif2;
????@Override
????protected?void?onCreate(Bundle?savedInstanceState)?{
????????super.onCreate(savedInstanceState);
????????setContentView(R.layout.activity_main);
????????gif1?=?(GifImageView)this.findViewById(R.id.info_gif1);
????????gif2?=?(GifImageView)this.findViewById(R.id.info_gif2);
????????initGif();
????}

????private?void?initGif(){
????????String?url1?=?"http://img5.imgtn.bdimg.com/it/u=3026352344,1511311477&fm=21&gp=0.jpg";
????????String?url2?=?"http://img5.imgtn.bdimg.com/it/u=808161139,2623525132&fm=21&gp=0.jpg";
????????File?saveImgPath?=?this.getImageDir(this);
????????File?gifSavePath1?=?new?File(saveImgPath,?"gif1");
????????File?gifSavePath2?=?new?File(saveImgPath,?"gif2");

????????displayImage(url1,?gifSavePath1,?gif1);
????????displayImage(url2,?gifSavePath2,?gif2);
????}

????public?void?displayImage(String?url,?File?saveFile,?final?GifImageView?gifView){
????????HttpUtils?http?=?new?HttpUtils();
????????//?下载图片
????????http.download(url,?saveFile.getAbsolutePath(),?new?RequestCallBack<File>()?{
????????????public?void?onSuccess(ResponseInfo<File>?responseInfo)?{
????????????????try?{
????????????????????Log.e(tag,?"onSuccess========"?+?responseInfo.result.getAbsolutePath());
????????????????????GifDrawable?gifFrom?=?new?GifDrawable(?responseInfo.result.getAbsolutePath()?);
????????????????????gifView.setImageDrawable(gifFrom);
????????????????}
????????????????catch(Exception?e){
????????????????????Log.e(tag,?e.getMessage());
????????????????}
????????????}
????????????public?void?onFailure(HttpException?error,?String?msg)?{
????????????????Log.e(tag,?"onFailure========"?+?msg);
????????????}
????????});
????}

????public?File?getFilesDir(Context?context,?String?tag){
????????if(isSdCardExist()?==?true){
????????????return?context.getExternalFilesDir(tag);
????????}
????????else{
????????????return?context.getFilesDir();
????????}
????}

????public?File?getImageDir(Context?context){
????????File?file?=?getFilesDir(context,?"images");
????????return?file;
????}

????public?boolean?isSdCardExist()?{
????????if?(Environment.getExternalStorageState().equals(
????????????????Environment.MEDIA_MOUNTED))?{
????????????return?true;
????????}
????????return?false;
????}
}
<RelativeLayout?xmlns:android="http://schemas.android.com/apk/res/android"
????xmlns:tools="http://schemas.android.com/tools"?android:layout_width="match_parent"
????android:layout_height="match_parent"?android:paddingLeft="@dimen/activity_horizontal_margin"
????android:paddingRight="@dimen/activity_horizontal_margin"
????android:paddingTop="@dimen/activity_vertical_margin"
????android:paddingBottom="@dimen/activity_vertical_margin"?tools:context=".MainActivity">

????<TextView?android:text="@string/label_info"
????????android:id="@+id/info"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"?/>

????<!--?gif控件?-->
????<pl.droidsonroids.gif.GifImageView
????????android:id="@+id/info_gif1"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:scaleType="fitXY"
????????android:layout_below="@+id/info"
????????/>

????<pl.droidsonroids.gif.GifImageView
????????android:id="@+id/info_gif2"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:scaleType="fitXY"
????????android:layout_below="@+id/info_gif1"
????????/>
</RelativeLayout>

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读