广告
返回顶部
首页 > 资讯 > 精选 >怎么利用ViewPager实现一个翻页效果
  • 371
分享到

怎么利用ViewPager实现一个翻页效果

viewpageragepager 2023-05-31 10:05:14 371人浏览 薄情痞子
摘要

这期内容当中小编将会给大家带来有关怎么利用ViewPager实现一个翻页效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。思路:a.利用ViewPager自带的动画效果,略作修改,实现滑动覆盖翻页效果。b

这期内容当中小编将会给大家带来有关怎么利用ViewPager实现一个翻页效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

思路:

a.利用ViewPager自带的动画效果,略作修改,实现滑动覆盖翻页效果。

b.移动时加入阴影效果。

1.关键代码如下所示:

public class ReaderViewPager extends ViewPager { public ReaderViewPager(Context context) {  this(context, null); } public ReaderViewPager(Context context, AttributeSet attrs) {  super(context, attrs);  setReadEffect();  setScrollerDuration(); } private void setScrollerDuration() {  try {   Field field = ViewPager.class.getDeclaredField("mScroller");   field.setAccessible(true);   FixedSpeedScroller scroller = new FixedSpeedScroller(getContext(),     new DecelerateInterpolator());   field.set(this, scroller);   scroller.setmDuration(300);  } catch (Exception e) {   Log.e("@", "", e);  } } public void setReadEffect() {  setPageTransfORMer(true, new PageTransformer() {   private static final float MIN_SCALE = 0.75f;   @Override   public void transformPage(View view, float position) {    int pageWidth = view.getWidth();     int pageHeight =view.getHeight();    if (position < -1) { // [-Infinity,-1)     // This page is way off-screen to the left.     view.setAlpha(0);    } else if (position <= 0) { // [-1,0]     // Use the default slide transition when moving to the left page     view.setAlpha(1);     view.setTranslationX(0);     view.setScaleX(1);     view.setScaleY(1);    } else if (position <= 1) { // (0,1]     // Fade the page out.//     view.setAlpha(1 - position);////     // Counteract the default slide transition     view.setAlpha(1);     view.setTranslationX(pageWidth * -position);////     // Scale the page down (between MIN_SCALE and 1)//     float scaleFactor = MIN_SCALE//       + (1 - MIN_SCALE) * (1 - Math.abs(position));//     view.setScaleX(scaleFactor);//     view.setScaleY(scaleFactor);    } else { // (1,+Infinity]     // This page is way off-screen to the right.     view.setAlpha(0);    }   }  }); }}

2.阴影效果添加(其实阴影是一张图片,本来是要在ReadViewPager内部添加阴影效果,但是不显示,貌似被ReadViewPage自己遮住了,就用笨办法实现了^_^):

<FrameLayout  Android:layout_width="match_parent"  android:layout_height="match_parent"><com.example.zhangyipeng.anwerdemo.view.ReaderViewPager   android:id="@+id/readerViewPager"   android:layout_width="match_parent"   android:layout_height="match_parent" />  <!--阴影-->  <ImageView   android:id="@+id/shadowView"   android:layout_width="20dp"   android:layout_height="match_parent"android:background="@mipmap/shadow_right"/> </FrameLayout>

3.阴影随翻页而移动效果实现

readerViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {   @Override   public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {    shadowView.setTranslationX(readerViewPager.getWidth()-positionOffsetPixels);   }   @Override   public void onPageSelected(int position) {   }   @Override   public void onPageScrollStateChanged(int state) {   }  });

上述就是小编为大家分享的怎么利用ViewPager实现一个翻页效果了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 怎么利用ViewPager实现一个翻页效果

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么利用ViewPager实现一个翻页效果
    这期内容当中小编将会给大家带来有关怎么利用ViewPager实现一个翻页效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。思路:a.利用ViewPager自带的动画效果,略作修改,实现滑动覆盖翻页效果。b...
    99+
    2023-05-31
    viewpager age pager
  • 怎么在android应用中利用ViewPager实现一个滑动翻页效果
    这期内容当中小编将会给大家带来有关怎么在android应用中利用ViewPager实现一个滑动翻页效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。实现ViewPager的滑动翻页效果可以使用ViewPa...
    99+
    2023-05-31
    viewpager android age
  • 利用unity怎么实现一个翻页效果
    这期内容当中小编将会给大家带来有关利用unity怎么实现一个翻页效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。创建物体ToPanel;添加组件ScrollRect,在下面创建一个空物体用来装需要移动的...
    99+
    2023-06-06
  • Android使用ViewPager实现翻页效果
    本文实例为大家分享了Android使用ViewPager实现翻页效果的具体代码,供大家参考,具体内容如下 效果如图所示: 代码实现: 1.布局代码:activity_view_pa...
    99+
    2022-11-13
  • Unity中怎么利用Shader实现一个3D翻页效果
    本篇文章给大家分享的是有关Unity中怎么利用Shader实现一个3D翻页效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。效果图:原理:Shader顶点动画在顶点着色器进行对...
    99+
    2023-06-20
  • Android开发中使用ViewPager实现一个轮翻图效果
    Android开发中使用ViewPager实现一个轮翻图效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。具体方法如下:import java.util.ArrayList...
    99+
    2023-05-31
    android viewpager age
  • 怎么在Android中利用ViewPager实现一个屏幕滑动效果
    本篇文章给大家分享的是有关怎么在Android中利用ViewPager实现一个屏幕滑动效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。创建View创建一个在之后作为fragm...
    99+
    2023-05-30
    viewpager android
  • 使用CSS3怎么实现一个3D翻转效果
    本篇文章给大家分享的是有关使用CSS3怎么实现一个3D翻转效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。第一步非常简单,我们简单画1个演示方块,为其 添加transitio...
    99+
    2023-06-08
  • Android利用悬浮按钮实现翻页效果
    今天给大家分享下自己用悬浮按钮点击实现翻页效果的例子。 首先,一个按钮要实现悬浮,就要用到系统顶级窗口相关的WindowManager,WindowManager.Layout...
    99+
    2022-06-06
    按钮 Android
  • Android中怎么实现手势翻页效果
    这篇文章将为大家详细讲解有关Android中怎么实现手势翻页效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。activity_main.xml布局界面代码:<xml ver...
    99+
    2023-05-30
    android
  • 怎么在CSS3中实现一个可翻转的hover效果
    怎么在CSS3中实现一个可翻转的hover效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.css  html { ...
    99+
    2023-06-08
  • Android 利用ViewPager+GridView实现首页导航栏布局分页效果
    最近我尝试使用ViewPager+GridView实现的,看起来一切正常,废话不多说,具体代码如下: 如图是效果图   首先分析下思路 1.首先是怎么布局:整体...
    99+
    2022-06-06
    首页 布局 viewpager gridview 分页 Android
  • vue中怎么实现一个翻页组件
    这篇文章将为大家详细讲解有关vue中怎么实现一个翻页组件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先,翻页组件(以下称“pager组件”)一般拥有的元...
    99+
    2022-10-19
  • vue怎么实现书本翻页动画效果
    本文小编为大家详细介绍“vue怎么实现书本翻页动画效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么实现书本翻页动画效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果如下:关键字transform...
    99+
    2023-06-29
  • 如何在Android中利用TextSwitcher实现一个文字上下翻牌效果
    今天就跟大家聊聊有关如何在Android中利用TextSwitcher实现一个文字上下翻牌效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。tvNotice = (TextSwitc...
    99+
    2023-05-31
    android textswitcher roi
  • 怎么使用纯CSS实现书籍3D翻页效果
    这篇文章主要介绍了怎么使用纯CSS实现书籍3D翻页效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用纯CSS实现书籍3D翻页效果,代码如下:<!doctype&nb...
    99+
    2023-06-08
  • Android中怎么利用EasyBarrage实现一个弹幕效果
    Android中怎么利用EasyBarrage实现一个弹幕效果,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。概述EasyBarrage是Android平台的一种轻量级弹幕效...
    99+
    2023-05-30
    android easybarrage
  • css3翻牌翻数字效果怎么实现
    这篇文章将为大家详细讲解有关css3翻牌翻数字效果怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果图如下:没有具体说做什么效果,但是想着纯数字转换太简单了,然后就顺手做了一个翻牌的效果。效果预览...
    99+
    2023-06-08
  • android viewpager怎么实现轮播效果
    本篇内容介绍了“android viewpager怎么实现轮播效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!分为四步去实现:第...
    99+
    2023-07-02
  • Android中怎么利用ViewPager实现图片滑动预览效果
    本篇文章给大家分享的是有关Android中怎么利用ViewPager实现图片滑动预览效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。xml代码:<xml ve...
    99+
    2023-05-30
    android viewpager
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作