使用swipecard实现卡片视图左右滑动监听以及点击监听

前言: 大家好,今天给大家介绍安卓一种特别实用有很酷炫的组件swipecard,当然这并不是安卓爸爸创造的,这是国内的一个我认为是大牛的一个人随便写着玩儿搞出来了,我看了他的代码介绍已经很清晰了,但是对于刚入门学安卓的同学们来说理解还是得需要一定的时间,于是在这里我就给大家把他的代码给精简一下步骤,希望能给大家一些帮助。

(图片无法上传所以导致图片不可见,大家可以点击我的有道链接查看 http://note.youdao.com/noteshare?id=ef7292c53d507cd0e1f3b15abb518e48)

1、导入:

第一步:首先大家需要去GitHub上去下载这个组件的压缩包然后解压,解压点开文件后应该是下图这种效果(图片不显示,就是一个文件夹):

第二步:导入Module,在file的目录下选择new选择import

然后点击出现下图界面,在浏览你第一步下载的文件夹选择library然后点击完成

第三步:

添加依赖:在file文件目录下的project structure里选择你的APP,选择depedence目录

点击加号选择第二个Module depedence选择lib目录下点击选择添加依赖,点击完成

至此我们对于导入Module的工作已经完成了,下面就是实现组件的效果了:

2、使用:

第一步:首先我们要明白,这是一个组件,类似于ListView的一个组件,所以第一步就是在xml文件中生成它

第二步:因为与ListView相似,所以这个组件也需要适配器,下面我们就要自定义一个适配器,但是需要继承的不是BaseAdapter而是继承咱们导入的那个Module里的BaseCardAdapter,看下面代码:(每个方法都已经有了注释,大家应该都看的明白)

package com.jereh.biyingapplication.adapter;

import android.content.Context;import android.view.View;import android.widget.ImageView;

import com.bumptech.glide.Glide;import com.huxq17.swipecardsview.BaseCardAdapter;import com.jereh.biyingapplication.entity.CardImg;import com.jereh.biyingapplication.*;import java.util.List;

/** * Created by zhangdi on 2016/8/31. */public class MyAdapter extends BaseCardAdapter {private List<CardImg> datas;private Context context;

public MyAdapter(List<CardImg> datas, Context context) {this.datas = datas;this.context = context;    }/**     * 获取卡片的数量*     * @return*/@Overridepublic int getCount() {if (datas.size()<1){return 0;        }else {return datas.size();        }

    }

/**     * 获取卡片view的layout id     *     * @return*/@Overridepublic int getCardLayoutId() {return R.layout.card_item;    }

/**     * 将卡片和数据绑定在一起*     * @param position 数据在数据集中的位置* @param cardview 要绑定数据的卡片*/@Overridepublic void onBindData(int position, View cardview) {if (datas == null || datas.size() == 0) {return;        }        ImageView imageView =                (ImageView) cardview.findViewById(R.id.lv_img);        CardImg img = datas.get(position);        Glide.with(context)                .load(img.getImg())                .crossFade()                .centerCrop()                .into(imageView);    }

/**     * 获取可见的cardview的数目,默认是3     * @return*/@Overridepublic int getVisibleCardCount() {return datas.size();    }}

第三步:现在已经有了适配器,布局中也已经有了组件,剩下要做的就是在java代码中把他们关联起来并给添加数据以及对各种事件做监听了:

swipeCardsView =        (SwipeCardsView)view.findViewById(R.id.swipCardsView);//设置滑动监听swipeCardsView.setCardsSlideListener(new SwipeCardsView.CardsSlideListener() {@Overridepublic void onShow(int index) {                Log.i("test showing index = ", "" + index);            }

@Overridepublic void onCardVanish(int index, SwipeCardsView.SlideType type) {                String orientation = "";switch (type) {case LEFT:                        orientation = "向左飞出";break;case RIGHT:                        orientation = "向右飞出";break;                }            }

@Overridepublic void onItemClick(View cardImageView, int index) {

            }        });

下面就是定义各种事件的方法以及关联适配器展示界面的方法:(其中mList是数据)

/** * 卡片向左边飞出*/public void doLeftOut() {swipeCardsView.slideCardOut(SwipeCardsView.SlideType.LEFT);}/** * 卡片向右边飞出*/public void doRightOut() {swipeCardsView.slideCardOut(SwipeCardsView.SlideType.RIGHT);}/** * 显示cardsview */private void show() {if (adapter == null) {adapter = new MyAdapter(mList, getActivity());swipeCardsView.setAdapter(adapter);    } else {swipeCardsView.notifyDatasetChanged(mList.indexOf(mList));    }}

至此这个组件已经完全配置完成,简单吧,希望我的笔记能对大家有所帮助,更希望大家能在自己的APP中实现,谢谢

时间: 2024-10-08 10:45:09

使用swipecard实现卡片视图左右滑动监听以及点击监听的相关文章

UWP 卡片视图 Card View

上一篇 提到了 UWP 轨道视图Orbit View,这次就说一下卡片视图,毕竟两个差不多. 卡片视图,效果如其名,卡片一样,左右滑动,当然能翻牌最好了. 嗯,我这个可以的额(⊙﹏⊙)... 看下效果先: 可以左右滑动,点击查看各项的内容:看下gif xaml: <ScrollViewer Grid.Row="1" ZoomMode="Enabled" VerticalScrollMode="Disabled" HorizontalScro

【Android】10.4 卡片视图

分类:C#.Android.VS2015: 创建日期:2016-02-19 一.简介 Android 从5.0开始包含了一个全新的卡片视图小部件,这个新的小部件默认就像一张带有圆角和轻微阴影的白色卡片,称为卡片视图. 1.需要安装Xamarin.Android.Support.v7.CardView软件包 CardView是由Android Support v7支持库提供的,用C#编写Android应用程序时,要使用CardView,项目中必须包括Xamarin.Android.Support.

mui 卡片视图 遮罩蒙版

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title></title

【Android】ViewPager实现图片左右滑动播放及添加点击事件

前两天老师找我帮她写个Android的demo.说是要实现一个图片左右滑动的效果,并且点击图片的时候会发出声音. 由于好久没写过Android了,所以花了一段时间来复习和学习.现将过程和实现简单记录如下.(项目参照了一部分CSDN博主Android将军的) 实现使用的是ViewPager 代码如下:在点击监听的部分,通过获取List<>中的控件添加触摸监听.当然你可以在各个页面添加多个控件,然后在获取该界面的控件,然后各个添加监听. 而且代码有优化的地方...不过只是为了演示,就没有太花时间去

win7 安装oracle 10g 未生成监听文件 导致配置监听时无法保存

最近这两天一直在为安装 的oracle 配置监听无法保存 再找各种解决方案,最后自己居然自己配置出来了. 因为缺少监听文件,拷贝别人的放到自己的目录下C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN   listener.ora.tnsnames.ora和 sqlnet.ora 1.修改 tnsnames.ora  中的 # tnsnames.ora Network Configuration File:  c:\oracle\product\10.

监听按钮点击事件的三种方式实现及调试信息输出的三种方式实现

监听按钮点击事件的三种方式实现: 1.匿名内部类 2.外部独立类 3.接口实现 package com.example.button; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View;

xcode UIButton创建、监听按钮点击、自定义按钮 、状态 、内边距

代码创建 //创建UIButton UIButton * btnType=[[UIButton alloc]init]; //设置UIControlStateNormal状态下的文字颜色 [btnType setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; //设置字体大小 btnType.titleLabel.font=[UIFont systemFontOfSize:9.0]; //设置边框的宽度 btnTyp

RecyclerView的使用方法与如何设置点击监听

RecyclerView是ListView的衍生而来的,它比ListView效率更高,使用起来也更加方便. 本文将会讲解用RecyclerView如何实现:垂直列表效果.横向列表效果.网格列表效果.瀑布流(横向与纵向),以及Item的点击监听(因为RecyclerView没有item的点击监听功能,这里是我自创的,感觉还算好用).效果还算强大吧?哈哈,下面看源码 (1)主布局 <?xml version="1.0" encoding="utf-8"?>&

监听短信(监听系统广播)

监听短信(监听系统广播)