GcsSloop / Rotate3dAnimation

基于谷歌官方提供的3D翻转示例进行修改,修复了在不同设备上显示效果差异过大的问题。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

安卓3D翻转效果

作者微博: @GcsSloop

基于谷歌官方提供的3D翻转示例进行修改,修复了在不同像素密度的设备上显示效果差异过大的问题。

修正前后对比

修正前 修正后
image image

该文件已经包含在另一个仓库中,你可以点击这里查看。

调用示例:

        // 计算中心点(这里是使用view的中心作为旋转的中心点)
		final float centerX = view.getWidth() / 2.0f;
		final float centerY = view.getHeight() / 2.0f;

        //括号内参数分别为(上下文,开始角度,结束角度,x轴中心点,y轴中心点,深度,是否扭曲)
		final Rotate3dAnimation rotation = new Rotate3dAnimation(this, start, end, centerX, centerY, 1.0f, true);
		rotation.setDuration(1500);                               //设置动画时长
		rotation.setFillAfter(true);                              //保持旋转后效果
		rotation.setInterpolator(new AccelerateInterpolator());   //设置插值器

		rotation.setAnimationListener(new AnimationListener() {   //设置监听器

			@Override
			public void onAnimationStart(Animation animation) {
			}

			@Override
			public void onAnimationRepeat(Animation animation) {
			}

			@Override
			public void onAnimationEnd(Animation animation) {
			}
		});
		view.startAnimation(rotation);                            //开始动画

About Me

About

基于谷歌官方提供的3D翻转示例进行修改,修复了在不同设备上显示效果差异过大的问题。

License:Eclipse Public License 1.0


Languages

Language:Java 100.0%