如何在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应用中使用堆叠滑动控件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。