android view 3d,Android 使用ViewPager打造3D画廊效果
CdlGalleryViewpager
Android 使用ViewPager打造3D画廊效果
主要实现思路是设置PageTransformer
PageTransformer是ViewPager的一个公共成员接口,用于设置当一个页面滑入和滑出的过度特效,当然,由于是通过属性动画来设置的,所以设置的pagetransformer在Android3.0以下会被忽略。
关于实现该接口,只需要实现一个方法即可:
public void transformPage(View page, float position);
对于参数position,需要好好说明一下:
position的取值有如下说明:
position是指的是页面相对于中间页面的位置参数,根据位置不同,0的时候在中间最前面,1的时候页面完全在右边,-1的时候页面完全在左边。如下图所示:
/**
* @author:程龙 date; On 2018/9/19
*/
public class MyTransformation implements ViewPager.PageTransformer {
private static final float MIN_SCALE = 0.85f;
private static final float MIN_ALPHA = 0.5f;
private static final float MAX_ROTATE = 30;
private Camera camera = new Camera();
@Override
public void transformPage(View page, float position) {
float centerX = page.getWidth() / 2;
float centerY = page.getHeight() / 2;
float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position));
float rotate = 20 * Math.abs(position);
if (position < -1) {
} else if (position < 0) {
page.setScaleX(scaleFactor);
page.setScaleY(scaleFactor);
page.setRotationY(rotate);
} else if (position >= 0 && position < 1) {
page.setScaleX(scaleFactor);
page.setScaleY(scaleFactor);
page.setRotationY(-rotate);
} else if (position >= 1) {
page.setScaleX(scaleFactor);
page.setScaleY(scaleFactor);
page.setRotationY(-rotate);
}
}
代码中有注释,如果想看更详细的介绍,在此贴出我博客的链接:我的博客 如果您觉得不错的话对你有帮助就点个赞收藏一下,谢谢!
android view 3d,Android 使用ViewPager打造3D画廊效果相关推荐
- Android开发学习之基于ViewPager实现Gallery画廊效果
通过我们前面的学习,我们知道ViewPager是可以做出近乎完美的滑动体验,回顾整个Android,我们发现Gallery具备同样的特点,于是我们大胆地猜想,Gallery是否和ViewPager之间 ...
- android view禁用,Android 禁止ViewPager的自带滑动效果
由于最近在做墨水屏的相关工作,ViewPager自带的滑动效果在墨水屏上表现的很不好,残影太重了.所以禁止自带的滑动效果,用接口来接管相关逻辑实现自处理. import android.content ...
- android view禁止右滑,ViewPager 禁止左右滑动完美解决
package cn.fht.widget; import android.content.Context; import android.support.v4.view.ViewPager; imp ...
- android 自定义心电图,手把手教你打造一个心电图效果View Android自定义View
大家好,看我像不像蘑菇-因为我在学校呆的发霉了. 思而不学则殆 丽丽说得对,我有奇怪的疑问,大都是思而不学造成的,在我书读不够的情况下想太多,大多等于白想 ,所以革命没成功,同志仍需努力. 好了废话不 ...
- android 自定义心电图,手把手教你打造一个心电图效果View Android自定义View(示例代码)...
大家好,看我像不像蘑菇-因为我在学校呆的发霉了. 思而不学则殆 丽丽说得对,我有奇怪的疑问,大都是思而不学造成的,在我书读不够的情况下想太多,大多等于白想 ,所以革命没成功,同志仍需努力. 好了废话不 ...
- android view flipper,Android之ViewFlipper的简单使用
大家都使用过ViewPager,但是ViewPager还有一个兄弟,那就是ViewFlipper.两者的名字非常相似,我们可以将ViewPager理解成"一页一页的视图",View ...
- Android view变形,android仿变形金刚效果实现MatchView
what?变形金刚!先看效果吧! MainActivity.javapackage com.lee.matchview; import com.example.matchview.R; import ...
- Android view.settran,Android RecyclerView从入门到玩坏
目录 前言 基础使用 分隔线 点击监听 搭配CardView 更丰富的条目 增删条目 快速添加视图 让RecyclerView支持复杂视图 最后前言 RecyclerView在Android界面开发当 ...
- html5 3d场景设计,H5打造3d场景不完全攻略(二): Amazing CSS3D
原标题:H5打造3d场景不完全攻略(二): Amazing CSS3D 前言 对的,本文就是着重介绍如何使用CSS3中的3D变换打造出H5中的3D效果.灵感来源于造物节团队的3d引擎,因为使用方法比较 ...
- android view嵌套,Android RecyclerView嵌套RecyclerView点击事件
RecyclerView嵌套RecyclerView点击事件遇到取值错乱的问题 其实问题根本就是咱们没有处理好被嵌套的那层recycleview的position 那么解决思路也很简单,想办法把被嵌套 ...
最新文章
- mysql教程联合索引_MySQL中的联合索引学习教程
- Btree(B-树)---C++
- bzoj1089: [SCOI2003]严格n元树
- boost::unknown_exception用法的测试程序
- hapRroxy 安装配置详解
- maven仓库启用国内云的方法,含完整配置文件
- mybatisplus page排序_MyBatisPlus分页的同时指定排序规则说明
- 正则表达式学习(一)
- 什么是南向接口和北向接口?
- 我的世界服务器物品图标闪,我的世界中国版用资源包修改闪烁标的方法分享
- eclipse中文包和控制台中文显示乱码
- journalctl命令详解
- 计算机组成原理指令存储器,《计算机组成原理》实验报告——指令存储、数据存储器...
- python网络爬虫从入门到实践第2版pdf-Python网络爬虫从入门到实践 第2版
- 岛屿数量JAVA_LeetCode刷题 463. Island Perimeter 岛屿的周长 Java
- 如何用HTML5写一个旋转立方体
- win10一行命令查看所有wifi密码
- 第一次写博客-C/C++软件开发工程师需要学习哪些东西?
- antd 全国省市级联框数据源
- Android的CalendarView控件使用及日期进行农历转换
热门文章
- 安信可推荐 | 安信可ESP-C3模组和ESP32-S3模组的软件和硬件对比区别
- 目标检测(二):OverFeat
- 清华大学朱小燕教授做客雷锋网沙龙,分享 NLP 和人工智能的那些事儿| AAAI 2017...
- java nio 捕获异常_java nio channel抛出ClosedByInterruptException的情况
- 西北工业大学 编译原理实验 minic文法 编译器前端 flex-bison实现 的 debug手记
- PSpice应用B-2
- Keil 5 C51与STM32
- linux+h264+cpu编码,Linux下使用MPV+SMPlayer播放HEVC H265编码视频
- 哔哩哔哩视频下载助手
- 计算机房管理制度通知,计算机房管理制度.doc