可拖拽式层叠卡片效果

本文介绍如何创建一个可拖拽、层叠的卡片切换交互页面,适用于社交交友应用,提供左右滑动和点击交互,同时支持内容加载更多功能。通过简单的代码,实现炫酷的视觉和操作体验。
摘要由CSDN通过智能技术生成

简介

现在很多社交交友类的APP首页都会有一个类似于卡片式切换的交互页,提高和用户的互动性。下面我们也做一个类似于这样的效果,它实现了用户的左右滑动和点击交互监听功能,同时也可设置其剩下多少内容时加载更多,简单的代码实现炫酷的操作,定会为你的应用增色不少。

效果图

使用

1、Layout布局

<com.wiggins.cardcontainer.widget.CardContainerView
    android:id="@+id/card_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

2、添加卡片View

@Override
public void addView(View card) {
    if (isLoadMore) {
        this.mCardList.add(ListUtil.getSize(mCardList), card);
    } else {
        this.mCardList.add(card);
    }
    LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    layoutParams.addRule(RelativeLayout.CENTER_VERTICAL);
    this.addView(card, 0, layoutParams);
    card.setOnTouchListener(onTouchListener);
    if (!isLoadMore) {
        this.setLayoutParams(card, mCardList.size());
    }
}

3、设置卡片相对位置

private void setLayoutParams(View card, int index) {
    LayoutParams params = new LayoutParams(card.getLayoutParams());
    params.topMargin = dip2px(marginTop) + getResources().getDimensionPixelSize(R.dimen.margin_tiny) * index;
    params.bottomMargin = dip2px(marginBottom) - getResources().getDimensionPixelSize(R.dimen.margin_tiny) * index;
    params.leftMargin = dip2px(marginLeft);
    params.rightMargin = dip2px(marginRight);
    card.setLayoutParams(params);
}

4、触摸拖拽监听

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值