为什么要实现翻页效果?减少用户的操作
viewpager2是基于recyclerview实现的,自带懒加载功能
viewpager2是对recyclerview的封装

要实现下面这个效果

viewpager2翻页效果

一 步骤

1 这次我们用viewPager2,导入依赖
    implementation 'androidx.viewpager2:viewpager2:1.0.0'
2 xml里写viewpager2的标签
3 写一个item_layout(就是翻页的内容)
4 Main.java:
    viewPager.setAdapter(viewPagerAdapter)
5 创建ViewPagerAdapter类(解析翻页layout用的)
    实现方法
    定义1个内部类(写属性:item_layout里面定义的标签)
    ViewPagerAdapter类写List属性装不同的翻页,写构造方法
    改造...

二 代码

1 这次我们用viewPager2,导入依赖

implementation 'androidx.viewpager2:viewpager2:1.0.0'


2 xml里写viewpager2的标签

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><androidx.viewpager2.widget.ViewPager2android:id="@+id/viewPager"android:layout_width="match_parent"android:layout_height="match_parent"/>/></LinearLayout>

3 写一个item_layout(就是翻页的内容)

item_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/container"android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/title"android:text="Hi 兄弟"android:layout_centerInParent="true"android:textSize="50sp"android:layout_width="wrap_content"android:layout_height="wrap_content"/></RelativeLayout>

4 Main.java设置adapter

MainActivity.java

package com.example.myviewpagerfragment;import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.widget.ViewPager2;import android.os.Bundle;
import android.view.View;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ViewPager2 viewPager = findViewById(R.id.viewPager);ViewPagerAdapter viewPagerAdapter =  new ViewPagerAdapter();//viewPager设置适配器viewPager.setAdapter(viewPagerAdapter);}
}

5 创建ViewPagerAdapter类(解析翻页layout用的)

package com.example.myviewpagerfragment;import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;import java.util.ArrayList;
import java.util.List;public class ViewPagerAdapter extends RecyclerView.Adapter<ViewPagerAdapter.ViewPagerViewHolder>{private List<String> titles = new ArrayList<>();private List<Integer> colors = new ArrayList<>();public ViewPagerAdapter() {titles.add("兄弟");titles.add("吃饭了吗");titles.add("游戏好玩么");titles.add("妹子好看吗");titles.add("学java了吗");titles.add("锻炼身体了吗");titles.add("今天喝可乐了吗");colors.add(R.color.yellow);colors.add(R.color.warm);colors.add(R.color.lightblue);colors.add(R.color.colorAccent);colors.add(R.color.pink);colors.add(R.color.light);colors.add(R.color.cool);}@NonNull@Overridepublic ViewPagerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {return new ViewPagerViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout,parent,false));}//数据绑定@Overridepublic void onBindViewHolder(@NonNull ViewPagerViewHolder holder, int position) {//把ArrayList里的内容放到翻页的TextView里holder.mTv.setText(titles.get(position));//把ArrayList里的背景颜色 设置到翻页里holder.mContainer.setBackgroundResource(colors.get(position));}//返回的数字就是有几个翻页@Overridepublic int getItemCount() {return titles.size();}class ViewPagerViewHolder extends RecyclerView.ViewHolder{TextView mTv;RelativeLayout mContainer;public ViewPagerViewHolder(@NonNull View itemView) {super(itemView);mContainer = itemView.findViewById(R.id.container);mTv = itemView.findViewById(R.id.title);}}
}

这里有好看的颜色

Android viewpager2实现翻页效果相关推荐

  1. Android 实现书籍翻页效果----升级篇

    自从之前发布了<Android 实现书籍翻页效果----完结篇 >之后,收到了很多朋友给我留言,前段时间由于事情较多,博客写得太匆忙很多细节地方没有描述清楚.所以不少人对其中的地方有不少不 ...

  2. Android 实现书籍翻页效果----原理篇

    之前看到像ipad上的ibook的模拟书籍翻页的特效感觉很炫,在android上也有像laputa和ireader等应用实现有这个特效,在网上搜索了一下好像也没有现成的例子,所以自己动手实现了一个,现 ...

  3. Android 实现书籍翻页效果---番外篇之光影效果

    By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 对于之前发布的翻页效果的源码,由于写得太匆忙,注释讲解的不多,且本人文笔较差,至使很多人对其中的很多部分不是很清楚 ...

  4. Android 实现书籍翻页效果----完结篇

    By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 之前由于种种琐事,暂停了这个翻页效果的实现,终于在这周末完成了大部分功能,但是这里只是给出了一个基本的雏形,没有添 ...

  5. Android ListView 滚动翻页效果

    http://blog.csdn.net/top_code/article/details/9629259

  6. android 模拟真书翻页效果的博客

    http://topic.csdn.net/u/20110422/20/5A405A2E-09B4-4665-A601-FBF38AE16A0F.html

  7. Android之实现上下左右翻页效果

    如果实现上下或者左右翻页效果,我们借助下这个开源项目:https://github.com/openaphid/android-flip Aphid FlipView是一个能够实现Flipboard翻 ...

  8. android 仿真翻页动画,Android 两Activity之间动画效果(1)---------翻页效果

    用Android rotate动画实现翻页效果,效果如图: 要实现上面动画,首先搞明白rotate动画原理: (1)Degrees坐标: 0度(360度) 270度 90度  顺时针旋转 180 (2 ...

  9. android做题imageview缩放,巧用ViewPager实现驾考宝典做题翻页效果

    效果如下所示: 思路: a.利用ViewPager自带的动画效果,略作修改,实现滑动覆盖翻页效果. b.移动时加入阴影效果. 1.关键代码如下所示: public class ReaderViewPa ...

最新文章

  1. 最落寞的C9高校:从未没落
  2. 可降阶的高阶微分方程
  3. C++对象内存模型学习
  4. 《SAP高级应用开发》---Idoc学习笔记
  5. pythonselenium上传图片视频_如何用selenium、python上传文件(图片)
  6. javascript_如何不再害怕JavaScript
  7. Bootstrap 图片的形状
  8. python程序异常实例_Python werkzeug.exceptions方法代码示例
  9. 转载:向 XPath 中添加自定义函数
  10. .net core linux 串口,.Net Core 跨平台应用使用串口、串口通信 ,可能出现的问题、更简洁的实现方法...
  11. 家用智能门锁常见的开锁方式,主要有哪些?
  12. matlab中的封装引脚,lm5117封装引脚图及功能
  13. 计算机怎么链接网络打印机,连接网络打印机,教您如何使用网络连接打印机
  14. 使用腾讯云paas服务接口通过视频进行活体校验-人脸识别
  15. 博文翻译:Tackling the Cold Start Problem in Recommender Systems
  16. Kubernetes 进阶训练营 控制器
  17. 80后,我们难忘的电视剧
  18. 最佳Outlook 2007改进-包括日历
  19. 人脸识别接口_人脸识别双模摄像头解析,免费搭配活体检测
  20. 新版标准日本语高级_第3课

热门文章

  1. 10分钟了解人工智能(最通俗的语言)
  2. 帮我用java写一个维吾尔语和汉语的翻译引擎
  3. ucgui 广告图片的8位色bmp以及gif文件 OSD层绘制说明
  4. 计算机等级考试中南,关于2019年上半年全国计算机等级考试报名的通知
  5. Android app 上传到google play,需要设置 隐私政策声明
  6. Intellij IDEA 设置代理
  7. 利用google earth制作地形等高线,代替地形图
  8. 我的写作进度之三-初稿完成
  9. 基于端智能的播放QoE优化
  10. 【渝粤题库】陕西师范大学165207 人才测评 作业(专升本)