导航:首页 > 操作系统 > android翻页功能

android翻页功能

发布时间:2023-01-02 02:10:54

android animation 翻页效果有哪些 大体描述下 还有实现原理 或者提供翻页效果比较好的APK也可以。

在android中实现手势翻页效果,主要用到ViewFlipper和GestureDetector.
ViewFlipper变化当前显示内容,GestureDetector监听手势.
用于多页的展示非常酷.
以下是简略说明:

首先创建工程:TestFlip,创建主Activity:TestFlip.
在res/layout/main.xml中添加flipper信息,然后将TestFlip实现OnGestureListener接口,并实现所有抽象方法,然后开始改造这个类.

flipper将按照你的添加顺序排列这些View,并通过flipper.showNext()和flipper.showPrevious()显示.
还需要多重写一个方法:onTouchEvent(MotionEvent event),否则detector检测不到触摸,这个方法非常简单.

⑵ 知乎Android版怎么翻页

知乎Android版翻页

翻页,查看分页文件的上一个页面、下一个页面或任意存在的非当前页面。可以将实体书或者移动Web窗体中的内容进行改变,以观看不同内容。在互联网上运用时该机制还呈现可用于浏览到其他页的用户界面元素。
作用
翻页:跳转到上一个页面、下一个页面或任意存在的非当前页面。

⑶ 安卓的淘宝怎么设置左右滑动翻页有这个功能吗

安卓智能手机上下滑屏调成左右滑屏的方法:

1、启动手机,进入手机的桌面;

2、按一下手机左下角的【菜单键】,弹出【桌面设置的选项】,找到【桌面设置】,点击进入【桌面设置】的界面;

3、在【桌面设置】界面下,点击【屏幕切换效果】;

5、进入【屏幕切换效果】的菜单后,选择【经典】或者【经典(无回弹)】就可以实现左右滑屏了。

⑷ Android电子书实现整屏翻页功能

1.view在上面绘制出一个屏幕大小的视图,并绘制出文字(onDraw drawText)
2.捕获屏幕手势,当有向上或向下移动的手势触发时(onTouch())
3.动画效果改变视图(viewfipper).

⑸ Android自定义View——从零开始实现书籍翻页效果(一)

前言 :本篇是系列博客的第三篇,这次我们要研究 书籍翻页效果 。不知道大家平时有没用过iReader、掌阅这些小说软件,里面的翻页效果感觉十分的酷炫。有心想研究研究如何实现,于是网上找了找,发现这方面的教学资料非常少,所幸能找到 何明桂大大 的 Android 实现书籍翻页效果----原理篇 这样的入门博客(感谢大大 Orz),我们就以这篇博客为切入点从零实现我们自己的翻页效果。由于这次坑比较深,预计会写好几期,感兴趣的小伙伴可以点下关注以便及时收到更新提醒,谢谢大家的支持 ~

本篇只着重于思路和实现步骤,里面用到的一些知识原理不会非常细地拿来讲,如果有不清楚的api或方法可以在网上搜下相应的资料,肯定有大神讲得非常清楚的,我这就不献丑了。本着认真负责的精神我会把相关知识的博文链接也贴出来(其实就是懒不想写那么多哈哈),大家可以自行传送。为了照顾第一次阅读系列博客的小伙伴,本篇会出现一些在之前 系列博客 就讲过的内容,看过的童鞋自行跳过该段即可

国际惯例,先上效果图,本次主要实现了 基本的上下翻页效果 右侧最大翻页距离的限制

在看这篇博客之前,希望大家能先了解一下书籍翻页的实现原理,博客链接我已经贴出来了。通过原理讲解我们知道,整个书籍翻页效果界面分成了三个区域, A 为当前页区域, B 为下一页区域, C 为当前页背面,如图所示

书籍翻页效果的实现就是要以我们 触摸屏幕位置的坐标 为基础绘制出这三个区域,形成模拟翻页的特效。要绘制这三个区域,我们需要通过一组 特定的点 来完成,这些点的坐标需要通过两个已知的点( 触摸点 相对边缘角 )计算得到,下图我将各个特定点的位置和计算公式贴出来,大家对照着原理一起理解(渣画工望体谅 ╮(╯▽╰)╭ ),其中 b 点是由 ae cj 的交点, k 点是由 ah cj 的交点

简单总结一下, a 是触摸点, f 是触摸点相对的边缘角, eh 我们设置为 af 的垂直平分线,则 g af 的中点, ab ak dj 直线 曲线cdb 是起点为 c ,控制点为 e ,终点为 b 二阶贝塞尔曲线 曲线kij 是起点为 k ,控制点为 h ,终点为 j 二阶贝塞尔曲线 ,区域 A B C 就由这些点和线划分开来。我们将这些点称为标识点,下一步就是模拟设定 a f 点的位置,将这组标识点绘制到屏幕上来验证我们的计算公式是否正确,创建 BookPageView

实体类 MyPoint 用来存放我们的标识点坐标

界面布局:

在Activity中进行注册

效果如图

前文我们提到 ab ak dj 直线 曲线cdb 是起点为 c ,控制点为 e ,终点为 b 二阶贝塞尔曲线 曲线kij 是起点为 k ,控制点为 h ,终点为 j 二阶贝塞尔曲线 。通过观察分析得知, 区域A 是由View 左上角 左下角 曲线cdb , 直线 ab ak 曲线kij 右上角 连接而成的区域,修改 BookPageView ,利用 path 绘制处 区域A

效果如图

区域C 理论上应该是由点 a , b , d , i , k 连接而成的闭合区域,但由于 d i 是曲线上的点,我们没办法直接从 d 出发通过 path 绘制路径连接 b 点( i , k 同理),也就不能只用 path 的情况下直接绘制出 区域C ,我们需要用 PorterDuffXfermode 方面的知识“曲线救国”。我们试着先将点 a , b , d , i , k 连接起来,观察闭合区域与 区域A 之间的联系。修改 BookPageView

效果如图

我们将两条曲线也画出来对比观察

观察分析后可以得出结论, 区域C 由直线ab,bd,dj,ik,ak连接而成的区域 减去 与区域A交集部分 后剩余的区域。于是我们设置 区域C 画笔 Xfermode 模式为 DST_ATOP

效果如图

最后是 区域B ,因为 区域B 处于最底层,我们直接将 区域B 画笔 Xfermode 模式设为 DST_ATOP ,在 区域A、C 之后绘制即可,修改 BookPageView

效果如图

翻页可以从右下方翻自然也可以从右上方翻,我们将 f 点设在右上角,由于View上下两部分是呈 镜像 的,所以各标识点的位置也应该是镜像对应的,因为 区域B和C 的绘制与 f 点没有关系,所以我们只需要修改 区域A 的绘制逻辑,新增 getPathAFromTopRight() 方法

效果如图

之前由于测试效果没有对View的大小进行重新测量,在实现触摸翻页之前先把这个结了。重写View的 onMeasure() 方法

我们的需求是,在上半部分翻页时 f 点在右上角,在下半部分翻页时 f 则在右下角,当手指离开屏幕时回到 初始状态 ,根据需求,修改 BookPageView

在Activity中监听View的 onTouch 状态

注意,要设置 android:clickable true ,否则无法监听到 ACTION_MOVE ACTION_UP 状态

效果如图

到这里我们已经实现了基本的翻页效果,但要还原真实的书籍翻页效果,我们还需要设置一些限制条件来完善我们的项目

对于一般的书本来说,最左侧应该是钉起来的,也就是说如果我们从右侧翻页,翻动的距离是 有限制的 ,最下方翻页形成的曲线起点( c 点)的x坐标不能小于0(上方同理),按照这个限定条件,修改我们的 BookPageView

效果如图

至此本篇教程就告一段落了,当然还有许多功能需要继续完善,例如横向翻页、翻页动画、阴影效果等等,这些都会在后面的教程中一一解决。如果大家看了感觉还不错麻烦点个赞,你们的支持是我最大的动力~

⑹ Android activity切换时怎么实现类似ios的翻页效果

通常情况下是用ViewPager+Fragment来实现滑屏的效果。
1.Fragment是android3.0引入的新控件,果应用使用在3.0以下、1.6及以上的版本,需要引入v4包。
2.Fragment支持在不同的Activity中使用并且可以处理自己的输入事件以及生命周期方法等。
3.Fragment的生命周期方法依赖于Activity的生命周期,例如一个Activity的onPause()的生命周期方法被调用的时候这个Activity中的所有的Fragment的onPause()方法也将被调用。
4.FragmentManager提供了对Activity运行时的Fragment的添加、删除、替换的操作。在Activity运行期间可以添加Fragment而不是在XML布局文件中进行定义。如果打算在Activity中改变Fragment的生命过程。如果要执行添加、删除、修改的操作,必须通过FragmentManager的对象获得一个FragmentTransaction对象,通过它的API来执行这些操作。
5.两个单独的Fragment之间是不应该进行通信的。应该使用他们所存在的Activity作为沟通的纽带。

⑺ android怎么做类似网页的左右翻页

如果实现上下或者左右翻页效果,我们借助下这个开源项目:https://github.com/openaphid/android-flip

Aphid FlipView是一个能够实现Flipboard翻页效果的UI组件。

下载完毕后导入到当前你的项目中,我们来下上下翻页的效果图:

直接贴出代码:

布局文件:

详细

⑻ 安卓手机上有没有带pdf智能翻页功能的APP

很多阅读软件,都可以设置智能翻页功能,而且支持格式很广泛,只要能打开你的PDF文件都可以设置。

⑼ Android RecyclerView实现横向滑动翻页

最近项目需求要实现RecyclerView的分页滑动 先上效果图如下(视频压缩成的gif所以滑动切换效果有点卡顿了 效果为每页三条数据的滑动)

⑽ Android怎么实现iBook的翻页,页面很长可以上下拖动

之前看到像ipad上的ibook的模拟书籍翻页的特效感觉很炫,在android上也有像laputa和ireader等应用实现有这个特效,在网上搜索了一下好像也没有现成的例子,所以自己动手实现了一个,现在将实现的过程记录下来。

实现真实的翻页效果,为了能在翻页的过程中看到下一页的内容,在翻页之前必须准备两张页面,一张是当前页,另一张是下一页。翻页的过程就是对这两张页面的剪切,组合过程。
用户看到的可以分为3部分:当前页的可见部分(下图绿色部分),把书页翻起来后看到的背面区域(下图黄色部分),把书页翻起来后看到的下一页的一角(下图绿色部分)。


假设我们已经求得了包含黄色区域和蓝色区域的Path, 假设为mPath0,那么绿色区域则可以使用Canvas.clipPath(mPath0, Region.Op.XOR)来剪裁绘制;而蓝色区域则可以通过使用(假设黄色区域的Path为mPath1)

[java] view plain
Canvas.clipPath(mPath0);
Canvas.clipPath(mPath1, Region.Op.DIFFERENCE); //绘制第一次不同于第二次的区域

对clipPath不是很熟的童鞋可以去复习下 自带apidemo的Clipping例子。

下面我们来研究如何求取mPath0:

上图黄色和蓝色区域的mPath0,可以通过以下获取:

[java] view plain
mPath0.moveTo(jx, jy);
mPath0.quadTo(hx, hy, kx, ky);
mPath0.lineTo(ax, ay);
mPath0.lineTo(bx, by);
mPath0.quadTo(ex, ey, cx,cy);
mPath0.lineTo(fx, fy);
mPath0.close();

接着就是要求出绘制path0所需的各个顶点。
我们已知的条件是:a点坐标(触摸点),f点坐标(显示界面的大小),直线eh是af的垂直平分线。
剩下的就变成数学问题啦~~
先来求出g点坐标因为g为af中点:
显然gx=(ax+fx)/2; gy=(ay+fy)/2;
e点坐标:
添加补助线gm,m点坐标为(gx, mHeight);
由相似垂直三角形egm和gmf可知:
em=gm*gm/mf;
这样e点坐标为:(gx-em, mHeight)
同理可以求出h点坐标。
C点坐标:
为简化计算,我们令n点为ag中点,这样有三角形cjf和ehf得:
cx=ex- ef/2 ;
c点坐标为:(ex- ef/2, mHeight)
同理求得j点坐标。
以下推导需要较多的数学知识,不记得的童鞋,自觉复习去~~
一条直线的函数为:
Y=ax+b;
通过已知两点求直线: a = (y2-y1)/(x2-x1);
b = (x2*y1-y2*x1)/(x2-x1);

两条相交直线交点的坐标为:x= (b2-b1)/(a1-a2);
y=a1x+b1或者y=a2x+b2

综上,4点相交的直线的交点为:
x=( (x4*y3-y4*x3)/(x4-x3)-(x2*y1-y2*x1)/(x2-x1)) /
((y2-y1)/(x2-x1)- (y4-y3)/(x4-x3) )

= ( (x4*y3-y4*x3) (x2-x1)- (x2*y1-y2*x1) (x4-x3) ) /
( (y2-y1) (x4-x3)- (y4-y3) (x2-x1) )
将之前求得的 a,e,c,j四个点带入上式则可以求出 b. 同理可求k点。

d点坐标:
d为pe的中点,所以:
dx=((cx+bx)/2+ex)/2
dy=((cy+by)/2+ey)/2
同理 可求 i 点。
通过上述求解,绘制翻页效果的各个顶点均已得出,剩下的就是贴图,绘制阴影。这部分将在于后的文章中介绍,嘻嘻,喜欢研究的童鞋可以自己试试。
转载,仅供参考。

阅读全文

与android翻页功能相关的资料

热点内容
引力app在哪里下载 浏览:605
编写app如何得到钱 浏览:798
吉利汽车软件放哪个文件夹安装 浏览:223
多文件编译c 浏览:541
头顶加密后为什么反而更稀疏 浏览:793
离心机压缩机扬程高 浏览:658
xshell连接linux命令 浏览:5
把多个文件夹的内容合并在一起 浏览:483
基于单片机的浇花系统设计ppt 浏览:685
卷积码编译码及纠错性能验证实验 浏览:354
请在删除驱动器之前暂停加密什么意思 浏览:787
光催化pdf 浏览:98
java字符串包含某字符 浏览:528
ssm身份认证源码 浏览:466
预排序遍历树算法 浏览:671
加密装置如何打开ping功能 浏览:478
python下载372 浏览:901
u盘子文件夹隐藏 浏览:296
本地误删svn文件夹 浏览:685
海康威视python通道名 浏览:241