效果图:

1、实现如图效果

2、根据接口请求数据并展示

3、实现如效果视频的切换效果

4、换一批 可以切换随机切换一批电影数据

添加依赖:

项目的build.gradle

allprojects {repositories {jcenter()maven { url 'https://jitpack.io' }}
}

APP下build.gradle

compile 'com.github.mcxtzhang:ZLayoutManager:V1.1.0'

Activity:

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.helper.ItemTouchHelper;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;import com.bwie.com.wangruixin20171209.R;
import com.bwie.com.wangruixin20171209.adapter.MyAdapter;
import com.bwie.com.wangruixin20171209.bean.VideoBean;
import com.bwie.com.wangruixin20171209.presenter.VideoPresenter;
import com.bwie.com.wangruixin20171209.view.IView;
import com.mcxtzhang.layoutmanager.swipecard.CardConfig;
import com.mcxtzhang.layoutmanager.swipecard.OverLayCardLayoutManager;
import com.mcxtzhang.layoutmanager.swipecard.RenRenCallback;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;/*** Created by Wangrx on 2017/12/9.*/public class ThreeFragment extends Fragment{private int number;private VideoPresenter presenter;private List<VideoBean.RetBean.ListBean> list = new ArrayList<>();private RecyclerView rcv;private Button btn;private MyAdapter myAdapter;@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view = View.inflate(getContext(), R.layout.threefragment, null);rcv = view.findViewById(R.id.recyclerview);btn = view.findViewById(R.id.btn);return view;}@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);number = getRandomNumber(1, 108);getNet(number);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {number = getRandomNumber(1, 108);getNet(number);myAdapter.notifyDataSetChanged();}});}public void getNet(int num){Map<String, String> map = new HashMap<>();map.put("catalogId","402834815584e463015584e539330016");map.put("pnum",num+"");presenter = new VideoPresenter();presenter.getData(map);presenter.attachView(new IView() {@Overridepublic void onSuccess(Object o) {if (o instanceof List){List<VideoBean.RetBean.ListBean> data = (List<VideoBean.RetBean.ListBean>) o;rcv.setLayoutManager(new OverLayCardLayoutManager());myAdapter = new MyAdapter(getContext(),data);CardConfig.initConfig(getActivity());//三个参数:rcv:自己的RecyclerView,myAdapter:适配器,list:将自己的集合数据传进去,进行得到size数量ItemTouchHelper.Callback callback = new RenRenCallback(rcv, myAdapter, data);//v7的触摸事件判断类ItemTouchHelper itemTouchHelper = new ItemTouchHelper(callback);itemTouchHelper.attachToRecyclerView(rcv);//设置适配器rcv.setAdapter(myAdapter);}}@Overridepublic void onFailed(Exception e) {}});}public int getRandomNumber(int min, int max) {return new Random().nextInt(max) % (max - min + 1)+min;}@Overridepublic void onDestroy() {super.onDestroy();if (presenter!=null){presenter.detatchView();}}}

适配器:

package com.bwie.com.wangruixin20171209.adapter;import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;import com.bumptech.glide.Glide;
import com.bwie.com.wangruixin20171209.R;
import com.bwie.com.wangruixin20171209.bean.VideoBean;import java.util.List;/*** Created by Wangrx on 2017/12/9.*/public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>{private Context context;private List<VideoBean.RetBean.ListBean> list;public MyAdapter(Context context, List<VideoBean.RetBean.ListBean> list) {this.context = context;this.list = list;}@Overridepublic ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {View view = View.inflate(context, R.layout.item, null);ViewHolder holder = new ViewHolder(view);return holder;}@Overridepublic void onBindViewHolder(ViewHolder holder, int position) {Glide.with(context).load(list.get(position).getPic()).into(holder.img);holder.title.setText(list.get(position).getDescription());}@Overridepublic int getItemCount() {return list.size();}public class ViewHolder extends RecyclerView.ViewHolder {ImageView img;TextView title;ViewHolder(View itemView) {super(itemView);img = itemView.findViewById(R.id.img);title = itemView.findViewById(R.id.title);}}
}

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/shape"><Buttonandroid:id="@+id/btn"android:layout_width="100dp"android:layout_height="30dp"android:layout_centerHorizontal="true"android:layout_margin="30dp"android:background="#0c0"android:layout_alignParentBottom="true"android:text="换一批"android:textColor="#fff"/><android.support.v7.widget.RecyclerViewandroid:id="@+id/recyclerview"android:layout_above="@+id/btn"android:layout_width="match_parent"android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
</RelativeLayout>

设置背景颜色

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><gradientandroid:angle="270"android:centerColor="#3e9302"android:endColor="#5d4802"android:startColor="#025d54" />
</shape>

设置边框圆角背景颜色

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" ><solid android:color="#fff" /><stroke android:width="1dip" android:color="#ddd"/><cornersandroid:bottomLeftRadius="20dp"android:bottomRightRadius="20dp"android:topRightRadius="20dp"android:topLeftRadius="20dp"/><gradientandroid:angle="270"android:centerColor="#026693"android:endColor="#023d5d"android:startColor="#1989a1" />
</shape>

仿探探图片卡左右滑动效果相关推荐

  1. 图片文字介绍滑动效果代码介绍

    代码 链接 结果展示 代码 <!DOCTYPE html> <html lang="en"><head><meta charset=&qu ...

  2. Android横向滚动卡片,RecyclerView+CardView实现横向卡片式滑动效果

    现在来介绍两种控件recyclerview和cardview,并通过实例将它们结合在一起实现一种横向卡片式滑动效果. 1.recyclerview recyvlerview是android sdk 新 ...

  3. Android横向滚动卡片,Android仿探探卡片式滑动效果实现

    前言 第一次进入探探软件界面,就被这种通过卡片式滑动来选择"喜欢/不喜欢"的设计所吸引了.当时就非常想通过自己来实现这种仿探探式的效果,然而却没什么思路.不过毋庸置疑的是,这种效果 ...

  4. Android仿探探卡片式滑动效果实现

    第一次进入探探软件界面,就被这种通过卡片式滑动来选择"喜欢/不喜欢"的设计所吸引了.当时就非常想通过自己来实现这种仿探探式的效果,然而却没什么思路.不过毋庸置疑的是,这种效果的原理 ...

  5. android 探探卡片,仿探探首页卡片式滑动效果

    Introduction CardSwipeLayout - Use RecyclerView to achieve card swipe layout , like Tantan . Screens ...

  6. 仿蜻蜓FM详情页嵌套滑动效果(IOS版本效果)

    闲来无事,看到蜻蜓FM的详情页面效果挺好玩的,于是乎仿一下,因为IOS版本和Android版本的效果不一致,看了下Android实现上更加复杂一点,所以先实现了IOS的方式,效果上大致的功能效果都有了 ...

  7. dw的php选择滑动图片效果,页面图片浮动左右滑动效果的简单实现案例

    核心代码: 1.css:16sucai.css html,body { height: 100%; margin: 0px; padding: 0px; } a {outline: none;} im ...

  8. php图片滑动的属性,使用css怎么实现图片的滑动效果?(示例)

    本篇文章主要给大家介绍关于css实现图片的滑动效果示例,希望大家阅读完本篇后对css滑动效果的相关知识有所了解. 下面给大家举一个简单的css图片滑动效果示例(自下而上滑动): css怎么实现图片滑动 ...

  9. 手机京东菜单html,jQuery仿京东商城手机端商品分类滑动切换特效

    jQuery仿京东商城手机端商品分类滑动切换特效 一款仿京商城东手机移动端商品图片分类导航滑动效果,jQuery商品二级分类菜单切换特效. js代码 //设置cookie function setCo ...

最新文章

  1. “耐撕”团队2016.04.12站立会议
  2. HTML form 标签的 action 属性
  3. 6月17 表单验证
  4. Cause: org.postgresql.util.PSQLException: ERROR: column province_id does not exist
  5. QDoc包括外部代码includingexternalcode
  6. Mongodb固定集合
  7. react 使用 mobx_如何使用React和MobX状态树构建基于状态的路由器
  8. 关于c/c++语言中*和*使用的详细分析
  9. 阿里云提示微擎被挂图片木马详解
  10. Hadoop 回收站
  11. 扩展频谱--直接序列扩频
  12. 太极熊猫服务器怎么都在维护,《太极熊猫》“新年贺岁版”更新维护公告
  13. 山体滑坡动画用什么软件制作_做施工动画是用什么软件来做
  14. 比特率与波特率的定义及区别
  15. 怎么复制黑苹果config配置_Catia中端电脑配置推荐(黑苹果)
  16. Laravel文档 翻译合集
  17. java 字符串排列组合_字符串排列组合问题
  18. 计算机盖,盖珂珂_北京理工大学计算机学院
  19. 华为 A800-9000 服务器 离线安装MindX DL
  20. 智慧城市建设 这五个方面不可不考虑

热门文章

  1. 理论篇一: 如何设计游戏棋牌平台 - 服务端 - 简介
  2. linux shell脚本攻略 第二章 命令之乐 cat,find,tr,sort,uniq,split等
  3. 企业级服务器硬盘iops,几种磁盘iops对比
  4. 服务器云化,以一当十 华为服务器顺应云化和融合趋势
  5. 2020 IDEA常用快捷键集合
  6. VSCode程序猿彩虹屁插件rainbow fart体验:哇哦我听到有萌妹子夸我ฅ( ˃̶˙ω˙˂̶ ฅ
  7. 【解决方案】视频字幕生成+自动翻译字幕(中英,中法视频,双语字幕制作)
  8. 手机酒精测试仪软件有用么,“酒精测试仪”手机软件走俏 交警称不可信
  9. 【IPD】集成产品开发培训课程「3月4-5日」
  10. LED显示屏基础知识