PageTransformer函数详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PageTransformer函数详解相关的知识,希望对你有一定的参考价值。

参考技术A

PageTransformer接口中有transformPage(View view, float position)函数,我用了一个Demo工程的日志得到以下数据。这个Demo工程的ViewPager有三个View。
(1)当有View1左滑到View2时,由transformPage函数的日志获得以下数据(注意顺序):
view2的posion由1 -> 0;
view1的posion由0 -> -1;

(2)当View2右滑到View1时,由transformPage函数的日志获得以下数据(注意顺序):
view2的posion有0 -> 1;
view1的posion由-1 -> 0;
view3的posion有1 -> 2;
(2)当View2右滑到View3时,由transformPage函数的日志获得以下数据(注意顺序):
view2的posion有0 -> -1;
view3的posion有1 -> 0;
view1的posion有-1 -> -2;

其实我们在实际使用时,实现滑动效果不会考虑所有ViewPager的子item,只考虑滑动时左右两个item。
当左滑时:左View的posion将会由 0-> -1,右View的posion将会由1 -> 0;
当右滑时:左View的posion将会由 -1-> 0,右View的posion将会由 0-> 1;
其实很好理解:

文件IO详解(十三)---pread函数和pwrite函数详解

    pread和pwrite函数是Linux提供的另外一种读取和写入文件的操作。pread函数的操作可以看作是顺序调用了lseek函数和read函数,同样pwrite函数也类似。
======================================================
函数原型:
技术分享
技术分享
函数参数:
  • fd:要操作的文件描述符
  • buf:在pread函数中表示存储读出数据的内存首地址,在pwrite函数中表示写入数据的内存首地址
  • count:在pread函数中表示希望读出的字节数,在pwrite函数中表示希望写入的字节数
  • offset:表示从哪个位置开始读取或者写入数据。偏移量是从文件开头开始计算
返回值:
  • 调用成功时pread函数返回实际读到的字节数,遇到文件结尾则返回0;pwrite返回写入的字节数
  • 调用失败时pread函数返回 -1 ;pwrite函数返回 -1 .
=======================================================
pread函数相当于先后调用了lseek和read函数,但是还是有区别的,有以下两点区别:
  • pread函数是原子操作,而先后调用两个函数不是原子操作
  • pread函数是不会改变当前文件偏移量的,而read和write函数会改变当前文件偏移量
(pwrite函数类似)

 

以上是关于PageTransformer函数详解的主要内容,如果未能解决你的问题,请参考以下文章

Hive—date函数详解

标准文件IO详解---fileno函数详解

文件IO详解(十三)---pread函数和pwrite函数详解

Python有关函数的详解锦集

标准文件IO详解---fclose函数详解

文件和目录详解---symlink和readlink函数详解