Android用viewPager2实现UI界面翻页滚动的效果
作者:Lee坚武 时间:2023-06-08 02:46:43
1.先在build.gradle(Module)下添加引用viewPager2的库
implementation 'androidx.viewpager2:viewpager2:1.0.0'
2.在MainActivity下新建一个viewPager2
ViewPager2 viewPager = findViewById(R.id.viewPager);
ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter();
viewPager.setAdapter(viewPagerAdapter);
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>
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);
}
}
}
还要创建个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>
最终效果图:
来源: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