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

 更新时间:2021年05月25日 08:42:01   作者:Lee坚武  
自学Android中,然后需要实现UI页面翻页滑动的效果,例如头条的功能 我这边利用了viewPager2的翻页功能,具体流程如下:

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>

最终效果图:

以上就是Android用viewPager2实现UI界面翻页滚动的效果的详细内容,更多关于Android UI界面翻页滚动的资料请关注脚本之家其它相关文章!

相关文章

  • android 开发教程之日历项目实践(二)

    android 开发教程之日历项目实践(二)

    决定开始学习 Android 平台下的软件开发,以日历作为实践项目,进行一周后,基本完成,有需要的朋友可以参考下
    2013-01-01
  • Android Drawable代码编写的新姿势分享

    Android Drawable代码编写的新姿势分享

    Drawable是什么?按照字面翻译,就是可绘制的,由于能够绘制的东西很多,所以这个类是一个抽象类,下面这篇文章主要给大家介绍了关于Android Drawable代码编写的新姿势,需要的朋友可以参考下
    2022-01-01
  • 详解Android实现购物车页面及购物车效果(点击动画)

    详解Android实现购物车页面及购物车效果(点击动画)

    本篇文章主要介绍了详解Android实现购物车页面及购物车效果(点击动画),非常具有实用价值,需要的朋友可以参考下
    2017-08-08
  • Android学习笔记--Activity中使用Intent传值示例代码

    Android学习笔记--Activity中使用Intent传值示例代码

    Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用
    2013-06-06
  • Android帧动画、补间动画、属性动画用法详解

    Android帧动画、补间动画、属性动画用法详解

    安卓的三种动画,帧动画,补间动画,属性动画,大家了解多少,知道如何使用吗?本文就为大家简单介绍Android帧动画、补间动画、属性动画的使用方法,需要的朋友可以参考下
    2016-11-11
  • Android UI更新的几种方法总结

    Android UI更新的几种方法总结

    这篇文章主要介绍了Android UI更新的几种方法总结的相关资料,这里对Android UI 的几种更新列出了,并附实例代码,需要的朋友可以参考下
    2016-11-11
  • Android 桌面快捷方式实现实例详解

    Android 桌面快捷方式实现实例详解

    这篇文章主要为大家介绍了Android 桌面快捷方式实现实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • android利用service完成计时功能

    android利用service完成计时功能

    这篇文章主要为大家详细介绍了android利用service完成计时功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 浅谈android中数据库的拷贝

    浅谈android中数据库的拷贝

    下面小编就为大家带来一篇浅谈android中数据库的拷贝。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 使用kotlin协程提高app性能(译)

    使用kotlin协程提高app性能(译)

    这篇文章主要介绍了使用kotlin协程提高app性能(译),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论