<八>RecycleView+CardView实现瀑布流(2、加载网络图片)

来源:互联网 发布:c语言流程图while 编辑:程序博客网 时间:2024/05/16 15:53
 

<八>RecycleView+CardView实现瀑布流(2、加载网络图片)

标签: GlidePalette瀑布流in
 943人阅读 评论(1) 收藏 举报
 分类:

目录(?)[+]

Demo截图:

这里写图片描述

主要知识点:

Glide图片加载框架的使用,github地址:https://github.com/bumptech/glide,简单用法:

1.添加依赖:

dependencies {     ....    compile 'com.github.bumptech.glide:glide:3.6.0'}
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

2.代码使用:

Glide. with( context)        .load(mDataset .get(position).getImageURL())//图片路径        .into(holder.imageView );                  //显示图片的ImageView
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

3.添加权限(本地缓存、访问网络):

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android :name="android.permission.INTERNET" />
  • 1
  • 2
  • 1
  • 2

4.推荐博客: 
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.html

Palette提取颜色,简单用法:

1.添加依赖:

dependencies {     ....    compile 'com.android.support:palette-v7:23.0.1'}
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

2.代码使用:

//提取颜色Palette.from(resource).generate(new Palette.PaletteAsyncListener() {    public void onGenerated(Palette p) {        int vibrant = p.getLightVibrantColor( 0x000000);          //......    }});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3.详细介绍: 
http://blog.csdn.net/cai_iac/article/details/50449535

核心代码:

相对上一个demo,该demo新加的核心代码为:

@Override public void onBindViewHolder(ViewHolder holder , int position) {    final ViewHolder mHolder = holder ;    holder. mTextView .setText(mDataset .get(position).getUserName()) ;    Glide. with( context )            .load(mDataset .get(position).getImageURL())            .asBitmap()            .error(R.drawable. img_empty)             .into(new BitmapImageViewTarget(holder. imageView) {                 @Override                public void onResourceReady (Bitmap resource , GlideAnimation<? super Bitmap> glideAnimation) {                    super.onResourceReady(resource , glideAnimation);                     //提取并设置颜色                    Palette.from (resource).generate(new Palette.PaletteAsyncListener() {                         public void onGenerated(Palette p) {                             int vibrant = p.getLightVibrantColor( 0x000000) ;                            mHolder .mTextView .setBackgroundColor(vibrant) ;                        }                    }) ;                }            }); }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

项目地址

http://download.csdn.net/detail/cai_iac/9387676

阅读全文
0 0
原创粉丝点击