首页 > 系统 > Android > 正文

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

2019-12-12 03:19:38
字体:
来源:转载
供稿:网友

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

支持滑动方向控制
支持消失方向控制
支持嵌入到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;  }}

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表