Android层叠式卡片效果实现!(高大上)

一,上班闲来无聊,撸发代码。实现Android层叠卡片效果如下图!1.我们可以随意方向的拖动这个卡片。2.我们可以将卡片放在一起显示且有层叠式效果。3.我们可以将最上层的卡片移除,当移除最底层之后又继续循环开始。4.我们拖缀图片时候下面图片有起伏动画效果。二,分析如何实现: 1.很多人会想到viewPager+setPageTransformer+属性动画 2.也有人会想到手势。
摘要由CSDN通过智能技术生成

一,上班闲来无聊,撸发代码。实现Android层叠卡片效果如下图!

1.我们可以随意方向的拖动这个卡片。
2.我们可以将卡片放在一起显示且有层叠式效果。
3.我们可以将最上层的卡片移除,当移除最底层之后又继续循环开始。
4.我们拖缀图片时候下面图片有起伏动画效果。

这里写图片描述

二,分析如何实现:

   1.很多人会想到viewPager+setPageTransformer+属性动画
   2.也有人会想到手势。
   3.自定义控件+viewGroup+拖动事件。
   有没有更简单的呢?
   很多人估计都用过RecylerView吧!
   RecylerView里面就有滑动删除效果+ItemTouchHelper不知道
   的同学们可以查查资料哦![TtemTouchHelper](http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0630/3123.html)

三,准备工作:
(1.)首先我们完成并显示一个RecylerView列表:代码如下*
新建一个SwipeCardBean实体类对象来储存信息:

SwipeCardBean.java

public class SwipeCardBean {
    public String title;
    public int resoutimage;

}

(2)写一个适配器用来显示列表信息(相信这个都会把。不会来那就看看别人写的自己动手练习几个,这里的recylerview_item.xml我就不写了吧!):

UniversalAdapter.java
package com.example.ls.dn_swipecard.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.ls.dn_swipecard.R;
import com.example.ls.dn_swipecard.SwipeCardBean;

import java.util.ArrayList;

/**
 * Created by 路很长~ on 2017/7/3.
 */

public class UniversalAdapter extends RecyclerView.Adapter<UniversalAdapter.UniversalViewHolder> {
   
    public ArrayList<SwipeCardBean> mData;
    public Context context;

    public UniversalAdapter(ArrayList<SwipeCardBean> mData, Context context) {
        this.mData = mData;
        this.context = context;
    }

    @Override
    public UniversalViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.recylerview_item, null);
        UniversalViewHolder holder = new UniversalViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(UniversalViewHolder holder, int position) {
        UniversalViewHolder holder1=holder;
        holder1.recy_item_im.setBackgroundResource(mData.get(position).resoutimage);
        holder1.recy_item_tv.setText(mData.get(position).title);
    }

    @Override
    public int getItemCount() {
        return mData == null ? 0 : mData.size();
    }

    public class UniversalViewHolder extends RecyclerView.ViewHolder {
   
        public TextView recy_item_tv;
        public ImageView recy_item_im;

        publi
  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
Android中,RecyclerView是一个强大的控件,可以用于显示大量数据,并且支持各种布局和交互效果。要实现RecyclerView的横向滚动定位,可以按照以下步骤进行操作: 1. 创建RecyclerView对象:在XML布局文件中定义RecyclerView,并在代码中使用findViewById方法找到它。 2. 设置布局管理器:使用LinearLayoutManager或GridLayoutManager等布局管理器,将RecyclerView设置为水平滚动模。例如,对于横向滚动,可以使用以下代码: LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false); recyclerView.setLayoutManager(layoutManager); 3. 创建数据适配器:根据需求创建RecyclerView.Adapter的子类,并实现其抽象方法。适配器负责将数据绑定到RecyclerView的视图项上,并管理视图项的点击事件等操作。 4. 绑定适配器:将适配器与RecyclerView进行关联,通过调用RecyclerView的setAdapter方法来实现。例如: recyclerView.setAdapter(adapter); 5. 实现横向定位功能:可以利用RecyclerView的smoothScrollToPosition方法实现横向滚动定位。根据需要,可以在适配器中设置点击事件,当点击RecyclerView的某个视图项时,获取其位置position,并通过以下代码实现横向定位: recyclerView.smoothScrollToPosition(position); 通过上述步骤,我们可以实现RecyclerView的横向滚动定位功能。在实际开发中,还可以根据需求进行样、数据加载等其他操作来定制RecyclerView的外观和功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值