android 堆叠效果,Android开源堆叠滑动控件仿探探效果

堆叠滑动控件,类似于社交软件探探的效果,并增加以下扩展:

支持滑动方向控制

支持消失方向控制

支持嵌入到ViewPager等滑动控件

支持内嵌ListView,RecycleView等滑动控件

效果演示

cda538c874c4e20cff9aea75cb51599e.gif

ece293a438cc9acc3c3ba762985e9ed0.gif

c434e08565d3fbcd016884d260db3a90.gif

如何使用xml引入StackCardsView:

android:id="@+id/cards"

android:layout_width="match_parent"

android:layout_height="match_parent"

app:itemHeight="340dp"

app:itemWidth="340dp"

android:paddingBottom="66dp"

android:clipToPadding="false"

/>

支持的xml属性设置:

500a626b3e94359d85d27f978a40cda6.png

设置adapter:

mCardsView = Utils.findViewById(root,R.id.cards);

mCardsView.addOnCardSwipedListener(this);

mAdapter = new CardAdapter();

mCardsView.setAdapter(mAdapter);

public class CardAdapter extends StackCardsView.Adapter {

private List mItems;

public void appendItems(List items){

int size = items == null ? 0 : items.size();

if (size == 0) {

return;

}

if (mItems == null) {

mItems = new ArrayList<>(size);

}

mItems.addAll(items);

notifyDataSetChanged();

}

public void remove(int position){

mItems.remove(position);

notifyItemRemoved(position);

}

@Override

public int getCount() {

return mItems == null ? 0 : mItems.size();

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

return mItems.get(position).getView(convertView,parent);

}

@Override

public int getSwipeDirection(int position) {

//这里控制每张卡的支持滑动超过一定距离消失的方向

BaseCardItem item = mItems.get(position);

return item.swipeDir;

}

@Override

public int getDismissDirection(int position) {

//这里控制每张卡的支持滑动超过一定距离消失的方向

BaseCardItem item = mItems.get(position);

return item.dismissDir;

}

@Override

public boolean isFastDismissAllowed(int position) {

//这里控制每张卡的支持快速滑动消失的方向

BaseCardItem item = mItems.get(position);

return item.fastDismissAllowed;

}

@Override

public int getMaxRotation(int position) {

//这里控制每张卡的最大旋转角

BaseCardItem item = mItems.get(position);

return item.maxRotation;

}

}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值