Android用viewPager2实现UI界面翻页滚动的效果

作者:Lee坚武 时间:2023-06-08 02:46:43 

1.先在build.gradle(Module)下添加引用viewPager2的库


implementation 'androidx.viewpager2:viewpager2:1.0.0'

Android用viewPager2实现UI界面翻页滚动的效果

2.在MainActivity下新建一个viewPager2


ViewPager2 viewPager = findViewById(R.id.viewPager);
ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter();
viewPager.setAdapter(viewPagerAdapter);

Android用viewPager2实现UI界面翻页滚动的效果

xml也要导入ViewPager2


<androidx.viewpager2.widget.ViewPager2
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:id="@+id/viewPager"
       android:background="@color/teal_200" ></androidx.viewpager2.widget.ViewPager2>

Android用viewPager2实现UI界面翻页滚动的效果

3.创建个ViewPagerAdapter


package com.zhizhu.test03;

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<>();
   public ViewPagerAdapter(){
       titles.add("111");
       titles.add("222");
       titles.add("99999");
       titles.add("333");
       titles.add("99888");
   }

@NonNull
   @Override
   public ViewPagerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
       return new ViewPagerViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_pager, parent, false));
   }

@Override
   public void onBindViewHolder(@NonNull ViewPagerViewHolder holder, int position) {
       holder.mTV.setText(titles.get(position));
   }

@Override
   public int getItemCount() {
       return 5;
   }

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.tvTitle);
       }
   }
}

Android用viewPager2实现UI界面翻页滚动的效果

还要创建个item_pager.xml文件


<?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:id="@+id/container">

<TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:id="@+id/tvTitle"
       android:layout_centerInParent="true"
       android:textColor="@color/black"
       android:textSize="30dp"
       android:text="88888"></TextView>

</RelativeLayout>

Android用viewPager2实现UI界面翻页滚动的效果

最终效果图:

Android用viewPager2实现UI界面翻页滚动的效果

来源:https://juejin.cn/post/6965801218820014088

标签:Android,viewPager2,UI,翻页滚动
0
投稿

猜你喜欢

  • Java 实现常见的非对称加密算法

    2023-11-27 18:51:03
  • Mybatis环境搭建及文件配置过程解析

    2021-07-04 22:37:03
  • 基于SqlSessionFactory的openSession方法使用

    2023-02-26 23:10:15
  • 详解C#如何读写config配置文件

    2023-09-23 01:18:34
  • C#串口通信实现方法

    2023-04-15 06:31:11
  • Java递归基础与递归的宏观语意实例分析

    2021-06-24 09:33:10
  • 对dbunit进行mybatis DAO层Excel单元测试(必看篇)

    2023-08-19 02:37:19
  • Unity实现场景加载功能

    2021-09-15 12:27:45
  • Redis集群与SSM整合使用方法

    2023-07-02 02:17:05
  • Android中TextureView与SurfaceView用法区别总结

    2023-07-20 00:29:16
  • java安全编码指南之:Mutability可变性详解

    2023-11-11 06:30:24
  • Java+Selenium调用JavaScript的方法详解

    2021-05-26 17:08:24
  • java复制文件和java移动文件的示例分享

    2023-09-17 08:18:06
  • C++内存模型与名称空间概念讲解

    2023-07-15 03:43:43
  • Android系统音量条实例代码

    2022-05-26 15:20:48
  • Java中如何避免sql注入实例详解

    2022-08-24 14:42:06
  • 使用JAXBContext 设置xml节点属性

    2021-09-21 00:05:44
  • C#泛型语法详解

    2023-01-28 18:20:12
  • C#中WPF使用多线程调用窗体组件的方法

    2023-04-24 11:47:57
  • Spring Boot实现分布式锁的自动释放的示例代码

    2023-10-17 11:06:24
  • asp之家 软件编程 m.aspxhome.com