Android开源堆叠滑动控件仿探探效果
时间:2021-09-04 09:48:15|栏目:Android代码|点击: 次
堆叠滑动控件,类似于社交软件探探的效果,并增加以下扩展:
支持滑动方向控制
支持消失方向控制
支持嵌入到ViewPager等滑动控件
支持内嵌ListView,RecycleView等滑动控件
效果演示
如何使用
xml引入StackCardsView:
<com.beyondsw.lib.widget.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属性设置:
设置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<BaseCardItem> mItems; public void appendItems(List<BaseCardItem> 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; } }
上一篇:Android组件间通信--深入理解Intent与IntentFilter
栏 目:Android代码
下一篇:Android setTag方法的key问题解决办法
本文标题:Android开源堆叠滑动控件仿探探效果
本文地址:http://www.codeinn.net/misctech/172386.html