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



第三步:


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
*/
@Override
public int getCount() {
if (datas.size()<1){
return 0;
}else {
return datas.size();
} } /**
* 获取卡片view的layout id
*
* @return
*/
@Override
public int getCardLayoutId() {
return R.layout.card_item;
} /**
* 将卡片和数据绑定在一起
*
* @param position 数据在数据集中的位置
* @param cardview 要绑定数据的卡片
*/
@Override
public 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
*/
@Override
public int getVisibleCardCount() {
return datas.size();
}
}
第三步:现在已经有了适配器,布局中也已经有了组件,剩下要做的就是在java代码中把他们关联起来并给添加数据以及对各种事件做监听了:
swipeCardsView =
(SwipeCardsView)view.findViewById(R.id.swipCardsView);
//设置滑动监听
swipeCardsView
.setCardsSlideListener(new SwipeCardsView.CardsSlideListener() {
@Override
public void onShow(int index) {
Log.i("test showing index = ", "" + index);
} @Override
public void onCardVanish(int index, SwipeCardsView.SlideType type) {
String orientation = "";
switch (type) {
case LEFT:
orientation = "向左飞出";
break;
case RIGHT:
orientation = "向右飞出";
break;
}
} @Override
public 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中实现,谢谢
使用swipecard实现卡片视图左右滑动监听以及点击监听的更多相关文章
- UWP 卡片视图 Card View
上一篇 提到了 UWP 轨道视图Orbit View,这次就说一下卡片视图,毕竟两个差不多. 卡片视图,效果如其名,卡片一样,左右滑动,当然能翻牌最好了. 嗯,我这个可以的额(⊙﹏⊙)... 看下效果 ...
- mui卡片视图的制作
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- mui 卡片视图 遮罩蒙版
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- 【Android】10.4 卡片视图
分类:C#.Android.VS2015: 创建日期:2016-02-19 一.简介 Android 从5.0开始包含了一个全新的卡片视图小部件,这个新的小部件默认就像一张带有圆角和轻微阴影的白色卡片 ...
- ListView的HeaderView包含的GridView滑动隐藏后无法点击问题分析
目录 1 现象 2 问题分析 2.1 滑动前 2.2 滑动后 2.3 mDataChanged赋值为true的位置 2.3 GridView直接作为ListView的HeaderView为什么可以滑动 ...
- Android 监听短信(同时监听广播和数据库)
暗扣,强烈谴责这种侵害用户利益的行为... 下面给大家介绍Android暗扣原理....... Android4.4以下的系统玩游戏就要小心了哈 暗扣方式之一:短信订购,即监听--------拦截- ...
- xcode UIButton创建、监听按钮点击、自定义按钮 、状态 、内边距
代码创建 //创建UIButton UIButton * btnType=[[UIButton alloc]init]; //设置UIControlStateNormal状态下的文字颜色 [btnTy ...
- Oracle 数据库监听无法连接上、监听HANG住、监听无响应、TNS-12560
环境: Windows server 2003 Oracle 11.2.0.1 问题: 一套老数据库在运行了很久后,突然就连接不上了,提示监听异常. 处理: 1.CMD命令行检查监听状态:无监听 2. ...
- 监听当点击微信等app的返回按钮或者浏览器的上一页或后退按钮的事件
在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一些其它操作的 需求,那在代码中怎样监听当点击微信.支付宝.百度糯米.百度钱包 ...
随机推荐
- 【bzoj1098】办公楼
[bzoj1098]办公楼 题意 FGD开办了一家电话公司.他雇用了N个职员,给了每个职员一部手机.每个职员的手机里都存储有一些同事的电话号码.由于FGD的公司规模不断扩大,旧的办公楼已经显得十分狭窄 ...
- Linux 1
1. 使用虚拟控制台 登录后按Alt+F2键这时又可以看到"login:"提示符, 这个就是第二个虚拟控制台. 一般新安装的Linux有四个虚拟控制台, 可以用Alt+F1~Al ...
- DOM遍历方法
为标题行添加样式 $(document).ready(function(){ $('th').parent().addClass('table-heading'); $('tr:not([th]):o ...
- break和continue的区别
break是结束整个循环体,continue是结束单次循环
- 关于OPencv版本不符合,相关库变化问题
由于OPencv发展迅速,已经省略了很多原来的库文件,奈何自己才疏学浅,所以只能把OPencv 1.0中的相关版本中的库文件一直过去. 链接: http://pan.baidu.com/s/1qY1Z ...
- C# 检测程序运行时间的方法,Stopwatch类
//需要引用命名空间,System.Diagnostics Stopwatch watch = new Stopwatch(); //实例化一个计时器 watch.Start(); //开始计时 #r ...
- 转Global.asax文件
Global.asax 文件是什么 Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序 ...
- hessian 协议
什么是Hessian协议呢? 目前,Web服务技术是解决异构平台系统的集成及互操作问题的主流技术. 它所基于的XML已经是Internet上交换数据的实际标准,基于通用的进程间通信协议和网络传输协议屏 ...
- 《转》简述c语言的优缺点
C语言是1972年由美国的Dennis Ritchie设计发明的,到1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言.再到1970到80年代,C语言被广泛应用.这短短的几十年 ...
- Objective-C( 语法二)
分类(Category):可以给某一个类扩充一些方法(不修改原来类的代码) 作用:在不改变原来类内容基础上,可以为类增加一些方法 使用注意: 1. 只能增加方法,不能增加成员变量 2. 分类方法 ...