欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android组件Glide实现图片平滑滚动效果

程序员文章站 2024-03-05 13:43:00
glide是一款基于android的图片加载和图片缓存组件,它可以最大性能地在android设备上读取、解码、显示图片和视频。glide可以将远程的图片、视频、动画图片等缓...

glide是一款基于android的图片加载和图片缓存组件,它可以最大性能地在android设备上读取、解码、显示图片和视频。glide可以将远程的图片、视频、动画图片等缓存在设备本地,便于提高用户浏览图片的流畅体验。

Android组件Glide实现图片平滑滚动效果

glide最核心的功能就是提高滚动图片列表的性能,并且glide还能满足对远程图片的读取、改变尺寸以及展示的性能要求。

glide使用方法

最简单的示例代码如下:

// for a simple view:
@override
public void oncreate(bundle savedinstancestate) {
  ...

  imageview imageview = (imageview) findviewbyid(r.id.my_image_view);

  glide.with(this).load("http://goo.gl/h8qoq7").into(imageview);
}

// for a list:
@override
public view getview(int position, view recycled, viewgroup container) {
  final imageview myimageview;
  if (recycled == null) {
    myimageview = (imageview) inflater.inflate(r.layout.my_image_view,
        container, false);
  } else {
    myimageview = (imageview) recycled;
  }

  string url = myurls.get(position);

  glide.with(myfragment)
    .load(url)
    .centercrop()
    .placeholder(r.drawable.loading_spinner)
    .crossfade()
    .into(myimageview);

  return myimageview;
}

在glide上应用volley通信框架

volley是glide的可选项,可以支持http/https来读取图片。

用gradle:

dependencies {
  compile 'com.github.bumptech.glide:volley-integration:1.0.+'
  compile 'com.mcxiaoke.volley:library:1.0.+'
}

或者用maven:

<dependency>
  <groupid>com.github.bumptech.glide</groupid>
  <artifactid>volley-integration</artifactid>
  <version>1.0.1</version>
  <type>jar</type>
</dependency>
<dependency>
  <groupid>com.mcxiaoke.volley</groupid>
  <artifactid>library</artifactid>
  <version>1.0.5</version>
  <type>aar</type>
</dependency>

然后在activity或者application中注册 volley的加载项即可:

public void oncreate() {
 glide.get(this).register(glideurl.class, inputstream.class,
    new volleyurlloader.factory(yourrequestqueue));
 ...
}

这样所有的请求就会通过volley了。

在glide中应用okhttp通信框架

除了volley,glide中还可以使用okhttp通信框架,okhttp同样支持http/https来读取图片。

用gradle:

dependencies {
  compile 'com.github.bumptech.glide:okhttp-integration:1.0.+'
  compile 'com.squareup.okhttp:okhttp:2.0.+'
}

或者用maven:

<dependency>
  <groupid>com.github.bumptech.glide</groupid>
  <artifactid>okhttp-integration</artifactid>
  <version>1.0.1</version>
  <type>jar</type>
</dependency>
<dependency>
  <groupid>com.squareup.okhttp</groupid>
  <artifactid>okhttp</artifactid>
  <version>2.0.0</version>
  <type>jar</type>
</dependency>

然后在activity或者application中注册 okhttp的加载项即可:

public void oncreate() {
 glide.get(this).register(glideurl.class, inputstream.class,
    new okhttpurlloader.factory(yourokhttpclient));
 ...
}

总结

如果你的android应用中涉及到远程图片的处理,那么glide组件可以帮助你在图片视频方面优化应用程序。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。