Android viewpager2实现翻页效果
为什么要实现翻页效果?减少用户的操作
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实现翻页效果相关推荐
- Android 实现书籍翻页效果----升级篇
自从之前发布了<Android 实现书籍翻页效果----完结篇 >之后,收到了很多朋友给我留言,前段时间由于事情较多,博客写得太匆忙很多细节地方没有描述清楚.所以不少人对其中的地方有不少不 ...
- Android 实现书籍翻页效果----原理篇
之前看到像ipad上的ibook的模拟书籍翻页的特效感觉很炫,在android上也有像laputa和ireader等应用实现有这个特效,在网上搜索了一下好像也没有现成的例子,所以自己动手实现了一个,现 ...
- Android 实现书籍翻页效果---番外篇之光影效果
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 对于之前发布的翻页效果的源码,由于写得太匆忙,注释讲解的不多,且本人文笔较差,至使很多人对其中的很多部分不是很清楚 ...
- Android 实现书籍翻页效果----完结篇
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 之前由于种种琐事,暂停了这个翻页效果的实现,终于在这周末完成了大部分功能,但是这里只是给出了一个基本的雏形,没有添 ...
- Android ListView 滚动翻页效果
http://blog.csdn.net/top_code/article/details/9629259
- android 模拟真书翻页效果的博客
http://topic.csdn.net/u/20110422/20/5A405A2E-09B4-4665-A601-FBF38AE16A0F.html
- Android之实现上下左右翻页效果
如果实现上下或者左右翻页效果,我们借助下这个开源项目:https://github.com/openaphid/android-flip Aphid FlipView是一个能够实现Flipboard翻 ...
- android 仿真翻页动画,Android 两Activity之间动画效果(1)---------翻页效果
用Android rotate动画实现翻页效果,效果如图: 要实现上面动画,首先搞明白rotate动画原理: (1)Degrees坐标: 0度(360度) 270度 90度 顺时针旋转 180 (2 ...
- android做题imageview缩放,巧用ViewPager实现驾考宝典做题翻页效果
效果如下所示: 思路: a.利用ViewPager自带的动画效果,略作修改,实现滑动覆盖翻页效果. b.移动时加入阴影效果. 1.关键代码如下所示: public class ReaderViewPa ...
最新文章
- 最落寞的C9高校:从未没落
- 可降阶的高阶微分方程
- C++对象内存模型学习
- 《SAP高级应用开发》---Idoc学习笔记
- pythonselenium上传图片视频_如何用selenium、python上传文件(图片)
- javascript_如何不再害怕JavaScript
- Bootstrap 图片的形状
- python程序异常实例_Python werkzeug.exceptions方法代码示例
- 转载:向 XPath 中添加自定义函数
- .net core linux 串口,.Net Core 跨平台应用使用串口、串口通信 ,可能出现的问题、更简洁的实现方法...
- 家用智能门锁常见的开锁方式,主要有哪些?
- matlab中的封装引脚,lm5117封装引脚图及功能
- 计算机怎么链接网络打印机,连接网络打印机,教您如何使用网络连接打印机
- 使用腾讯云paas服务接口通过视频进行活体校验-人脸识别
- 博文翻译:Tackling the Cold Start Problem in Recommender Systems
- Kubernetes 进阶训练营 控制器
- 80后,我们难忘的电视剧
- 最佳Outlook 2007改进-包括日历
- 人脸识别接口_人脸识别双模摄像头解析,免费搭配活体检测
- 新版标准日本语高级_第3课