Fresco是由Facebook开发人员创建的图像库,可用于显示来自互联网或本地存储的图像。许多流行的Android应用程序,如Facebook,Twitter,维基百科,9gag等使用此库。如果你想创建一个从互联网上加载大量图像的应用程序,那么这个库是最好的选择。它是其他Android图像库 Picasso 和 Grild 的绝佳替代品。 它可以高效地管理内存,以便应用程序更快地运行并减少崩溃。使用它你可以显示jpg,png,gif和WebP。下面我用一个简单的例子展示了这个库的用法。
使用包名com.frescoandroid创建一个android studio项目 。
在依赖项部分下的应用程序级build.gradle文件中添加以下依赖项,然后同步项目。
implementation 'com.facebook.fresco:fresco:1.13.0'
注意: 如果要显示gif或WebP,则需要包含更多依赖项。要了解它们,请访问 https://frescolib.org/docs/index.html。
在我们的项目中使用 Fresco 之前,我们必须初始化它,这个类用于初始化目的。通过这种方式,我们必须初始化它一次,然后我们可以在整个项目中使用库。
MyApplication.java
package com.frescoandroid;
import android.app.Application;
import com.facebook.drawee.backends.pipeline.Fresco;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Fresco.initialize(this);
}
}
为此,在标签内添加 android:name =“。MyApplication” 属性。
因为我将从互联网加载图像,所以在 AndroidManifest.xml 中添加互联网访问权限。
\
为了显示图像,我们在布局文件中使用 元素。还可以通过添加xmlns来提及顶级元素中的自定义命名空间 :fresco =“http://schemas.android.com/apk/res-auto” 属性。 在这里,我还使用了占位符图像,它将一直显示,直到从互联网上下载图像。确保将占位符图像放在可绘制文件夹中。
package com.frescoandroid;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.facebook.drawee.view.SimpleDraweeView;
public class MainActivity extends AppCompatActivity {
SimpleDraweeView image;
String url ="https://upload.wikimedia.org/wikipedia/en/thumb/8/80/Wikipedia-logo-v2.svg/1200px-Wikipedia-logo-v2.svg.png";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (SimpleDraweeView)findViewById(R.id.image);
//loading image from url
Uri uri = Uri.parse(url);
image.setImageURI(uri);
}
}
要显示图像,您只需使用setImageURI()方法在SimpleDraweeView ui元素中设置图像 。其余的代码是自我解释的。最后保存并运行项目。
要了解壁画库的更多功能,请访问其官方网站 http://frescolib.org/。