1、导依赖
//导入Fresco的依赖 compile 'com.facebook.fresco:fresco:1.3.0' // 支持webp compile 'com.facebook.fresco:webpsupport:1.3.0' // gif加载使用 compile 'com.facebook.fresco:animated-gif:1.3.0' // WebP(静态图+动图)加载使用 compile 'com.facebook.fresco:animated-webp:1.3.0'
2、加权限 (网络和读写权限)
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
3、布局
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fresco="http://schemas.android.com/apk/res-auto" (把app换成fresco - - -> 重点)
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bwie.wyy.fresco.MainActivity">
<Button android:id="@+id/bt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="加载图片"/>
<com.facebook.drawee.view.SimpleDraweeView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fresco"/>
</android.support.constraint.ConstraintLayout>
4、代码
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.controller.AbstractDraweeController;
import com.facebook.drawee.view.SimpleDraweeView;
public class MainActivity extends AppCompatActivity {
String url="http://pic1.win4000.com/wallpaper/2018-02-24/5a91339ad9ee7.jpg";
String gif_url="http://storage.slide.news.sina.com.cn/slidenews/77_ori/2018_10/74766_815022_377537.gif";
private Button bt;
private SimpleDraweeView fresco;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); //Fresco.initialize(this);
setContentView(R.layout.activity_main);
fresco= (SimpleDraweeView) findViewById(R.id.fresco);
bt = (Button) findViewById(R.id.bt);
bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
//加载网络图片 fresco.setImageURI(url);
//加载动态图片
//控制器 AbstractDraweeController controller = Fresco.newDraweeControllerBuilder() .setUri(gif_url)//加载的地址 .setAutoPlayAnimations(true)//开始自动播放 .build(); //给SimpleDreweeView设置控制器 fresco.setController(controller);
} }); } }