返回顶部
首页 > 资讯 > 精选 >ViewPager如何实现轮播图Banner/引导页Guide
  • 774
分享到

ViewPager如何实现轮播图Banner/引导页Guide

viewpagerbannerguide 2023-05-30 22:05:07 774人浏览 安东尼
摘要

小编给大家分享一下ViewPager如何实现轮播图Banner/引导页Guide,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Banner效果: GitHub链接

小编给大家分享一下ViewPager如何实现轮播图Banner/引导页Guide,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Banner效果:

ViewPager如何实现轮播图Banner/引导页Guide

GitHub链接地址:https://github.com/Allure0/LMBanners

昨天,有使用此库的同学提出需求,想在引导页的时候用这个库并且最后一页有进入按钮如何实现,为满足他的需求,也方便更多开发者是快速实现。进行了简单的扩展支持Guide模式的使用。

Guide效果图:

ViewPager如何实现轮播图Banner/引导页Guide

OK,效果如图所以,咱们此库满足了既可在Banner上使用也可以快速在第一次安装应用的时候引导页使用。

Banner与Guide有什么区别?

引导页的最后一页有按钮,Banners没有

引导页的底部原点距离较大,Banners可以几乎固定

Banner基础上扩展实现第一步:添加按钮

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:Android="Http://schemas.android.com/apk/res/android"  xmlns:app="http://schemas.android.com/apk/res-auto"  android:id="@+id/layout"  android:layout_width="match_parent"  android:layout_height="match_parent">  <com.allure.lbanners.viewpager.HorizonVerticalViewPager    android:id="@+id/gallery"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:unselectedAlpha="1"></com.allure.lbanners.viewpager.HorizonVerticalViewPager>  <LinearLayout    android:id="@+id/indicatorLayout"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:layout_alignParentBottom="true"    android:gravity="center"    android:orientation="horizontal"    android:padding="20dp"></LinearLayout>  <Button    android:id="@+id/btn_start"    android:layout_width="104dp"    android:layout_height="29dp"    android:layout_above="@id/indicatorLayout"    android:layout_centerHorizontal="true"    android:layout_marginBottom="40dp"    android:background="@drawable/banners_btn_shape"    android:gravity="center"    android:text="立即开启"    android:textColor="#f24814"    android:textSize="12sp" /></RelativeLayout>

相比于原来咱们新增了按钮,这时候咱们按照这个布局运行在每一个界面都包含了Button,而引导页模式只有在最后一页需要展示按钮。

Banner基础上扩展实现第二步:按钮的控制与模式支持

模式的支持

attrs.xml下新增自定义属性

 <!--是否为引导页-->    <attr name="isGuide" fORMat="boolean"></attr>    <attr name="indicatorBottomPadding" format="integer"></attr>

按钮的控制

在ViewPager中咱们控制按钮可以在ViewPager.OnPageChangeListener的接口方法中onPageScrolled进行控制

 public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {    Log.d("LMBanners", "onPageScrolled was invoke()");    int realPosition = position %= showCount;    if(!isGuide){      btnStart.setVisibility(View.GoNE);      return;    }    if (realPosition == getItemCount() - 2) {      if (positionOffset > 0.5f) {        if (btnStart != null) {          ViewHelper.setAlpha(btnStart, positionOffset);          btnStart.setVisibility(View.VISIBLE);        }      } else {        btnStart.setVisibility(View.GONE);      }    } else if (realPosition == getItemCount() - 1) {      if (positionOffset < 0.5f) {        btnStart.setVisibility(View.VISIBLE);        ViewHelper.setAlpha(btnStart, 1.0f - positionOffset);      } else {        btnStart.setVisibility(View.GONE);      }    } else {      btnStart.setVisibility(View.GONE);    }  }

以上代码中isGuide咱们判断是哪一种模式,如果不是Guide引导页模式,直接设置按钮不显示,并且跳出程序。
如果是Guide引导页模式,咱们针对倒数第二页与最后的控制的滑动距离来判断了按钮的显示。

核心点:

positionOffset:表示滑动的距离
向左滑动1—->>0.5>>0
向右滑动0—->>0.5>>1
根据滑动的距离进行按钮的一个渐变显示。

Banner基础上扩展实现第三步:按钮的点击回调

点击按钮需要执行开发者的自身逻辑跳转,咱们用接口回调完成

 public interface onStartListener {    void startOpen();  }

Banner基础上扩展实现第四步:Guide模式使用方式

对比banner只需要增加以下代码,如果需要其他属性可以自己设置(如,不自动滚动,不设置循环播放等等)

//设置为全屏    mLBanners.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));    //true为Guide模式,false为banner模式     mLBanners.isGuide(true);     mLBanners.setOnStartListener(new LMBanners.onStartListener() {      @Override      public void startOpen() {        //回调跳转的逻辑        Toast.makeText(MainActivity.this,"我要进入主界面",1).show();      }    });

以上是“ViewPager如何实现轮播图Banner/引导页Guide”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: ViewPager如何实现轮播图Banner/引导页Guide

本文链接: https://lsjlt.com/news/221571.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ViewPager如何实现轮播图Banner/引导页Guide
    小编给大家分享一下ViewPager如何实现轮播图Banner/引导页Guide,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Banner效果: Github链接...
    99+
    2023-05-30
    viewpager banner guide
  • ViewPager实现轮播图引导页
    本文实例为大家分享了ViewPager实现轮播图引导页的具体代码,供大家参考,具体内容如下 创建fragment将fragment对象添加到viewPager中,使其可以进行左右滑动...
    99+
    2024-04-02
  • android实现轮播图引导页
    android轮播图引导页(因为是引导页,所以不具备自动轮播的功能) 示例: 代码后面有数字,3.1开始就是开始做小圆点 //分为三个部分 (1)布局 activity_lun_b...
    99+
    2024-04-02
  • android如何实现banner轮播图无限轮播效果
    小编给大家分享一下android如何实现banner轮播图无限轮播效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下效果展示第一步(权限配置)<uses-permission android:n...
    99+
    2023-05-30
    android banner
  • 纯css如何实现轮播图banner自动轮换效果
    这篇文章主要为大家展示了纯css如何实现轮播图banner自动轮换效果,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“纯css如何实现轮播图banner自动轮换效果”这篇文章吧。css是什么意思cs...
    99+
    2023-06-08
  • Android实现简单的banner轮播图
    本文实例为大家分享了Android实现简单banner轮播图的具体代码,供大家参考,具体内容如下 说明:想玩一个简单的轮播图效果  用的第三方的框架玩一下,支持设置轮播图多...
    99+
    2024-04-02
  • Android ViewPager如何实现无限循环轮播广告位Banner效果
    这篇文章将为大家详细讲解有关Android ViewPager如何实现无限循环轮播广告位Banner效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。现在一些app通常会在头部放一个广告位,底部放置一行小...
    99+
    2023-05-30
    android viewpager banner
  • Android ViewPager实现轮播图效果
    先上一张效果图: 说到ViewPager实现轮播图效果,那么肯定会用到PagerAdapter,下面先介绍下这个类。 PagerAdapter简介 PagerAdapter是...
    99+
    2022-06-06
    轮播图 viewpager 轮播 Android
  • android ViewPager如何实现一个无限轮播图
    这篇文章主要介绍android ViewPager如何实现一个无限轮播图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先我们需要建一个包,然后新建一个java类,名字随便起这个类我们需要随便继承自一个vi...
    99+
    2023-06-29
  • Vue实现首页banner自动轮播效果
    本文实例为大家分享了Vue实现首页banner自动轮播的具体代码,供大家参考,具体内容如下 效果如图:  ①创建Banner.vue组件,需传入banner数组,可设置轮...
    99+
    2024-04-02
  • android控件Banner如何实现简单轮播图效果
    小编给大家分享一下android控件Banner如何实现简单轮播图效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!本文实例为大家分享了android控件Banner实现简单轮播图效果的具体代码,供大家参考,具体内容如下实...
    99+
    2023-06-15
  • Android ViewPager实现图片轮播效果
    在app中图片的轮播显示可以说是非常常见的实现效果了,其实现原理不过是利用ViewPager,然后利用handler每隔一定的时间将ViewPager的currentItem设...
    99+
    2022-06-06
    图片 viewpager 轮播 Android
  • Android中用RxJava和ViewPager实现轮播图
    前言 很多人要实现轮播图都会想到使用ViewPager + Handler来完成轮播图的效果。但是在RxJava快速发展的情况下,已经可以使用RxJava来代替Handler完...
    99+
    2022-06-06
    rxjava 轮播图 viewpager 轮播 Android
  • android ViewPager实现一个无限轮播图
    上节我们实现了一个图片可以无限滑动的ViewPager,这一节我们需要自定义一个ViewPager来实现我们想要展现的布局 首先我们需要建一个包,然后新建一个java类,名字随便起 ...
    99+
    2024-04-02
  • android控件Banner实现简单轮播图效果
    本文实例为大家分享了android控件Banner实现简单轮播图效果的具体代码,供大家参考,具体内容如下 实现这个轮播图是在Fragment里实现的,所以要想实现,首先要创建Frag...
    99+
    2024-04-02
  • ViewPager实现漂亮的引导页
    废话就不多说了,直接上效果图和代码fry.Activity01package fry;import java.util.ArrayList;import java.util.Collection;import java.util.Itera...
    99+
    2023-05-30
    viewpager 引导页 age
  • Android 首页轮播图实现
    先看一下效果:(图片是有指示器的,只是被上层的视图挡住了,这里不需要这个东西) 创建一个ViewHolder,解析布局和加载数据 packa...
    99+
    2022-06-06
    轮播图 首页 轮播 Android
  • angularjs如何实现首页轮播图效果
    这篇文章给大家分享的是有关angularjs如何实现首页轮播图效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下<!DOCTYPE html> ...
    99+
    2024-04-02
  • JavaScript如何实现首页图片轮播图效果
    这篇文章主要介绍“JavaScript如何实现首页图片轮播图效果”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript如何实现首页图片轮播图效果”文章能帮助大家解决问题。一、轮番图效果展...
    99+
    2023-07-02
  • JS如何实现轮播图
    本篇内容介绍了“JS如何实现轮播图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实现功能:自动轮播:鼠标停留在轮播图上时不切换图片,鼠标离开...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作