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

Hea ·
更新时间:2024-09-21
· 917 次阅读

Glide是一款基于Android的图片加载和图片缓存组件,它可以最大性能地在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组件可以帮助你在图片视频方面优化应用程序。

您可能感兴趣的文章:Android中ViewPager组件的基本用法及实现图片切换的示例android Gallery组件实现的iPhone图片滑动效果实例Android自定义组件获取本地图片和相机拍照图片Android可循环显示图像的Android Gallery组件用法实例Android高级组件Gallery画廊视图使用方法详解Android高级组件ImageSwitcher图像切换器使用方法详解浅析Android Studio 3.0 升级各种坑(推荐)Android中EditText setText方法的踩坑实战Android WebView使用的技巧与一些坑Android开发之StackView用法和遇到的坑分析



平滑 图片 glide 动效 Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号