先来看看效果:
简单介绍一下,两个界面,以水平中线旋转180度,切换界面。
上代码:
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="#a8a8a8">
<ViewFlipper
android:id="@+id/viewFlipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<include
android:id="@+id/one_layout1"
layout="@layout/activity_one" />
<include
android:id="@+id/two_layout2"
layout="@layout/activity_two"
android:visibility="gone" />
</ViewFlipper>
</RelativeLayout>
Activity关键代码:
private void changeOneOrTwo()
{
float halfWidth = viewFlipper.getWidth() / 2.0f;
float halfHeight = viewFlipper.getHeight() / 2.0f;
int duration = 300;
int depthz = 0;// viewFlipper.getWidth()/2;
if (oneOrTwo == 1)
{
oneOrTwo = 2;
Rotate3dAnimation in = new Rotate3dAnimation(-90, 0, halfWidth,
halfHeight, depthz, false);
in.setDuration(duration);
in.setStartOffset(duration);
viewFlipper.setInAnimation(in);
Rotate3dAnimation out = new Rotate3dAnimation(0, 90, halfWidth,
halfHeight, depthz, false);
out.setDuration(duration);
viewFlipper.setOutAnimation(out);
viewFlipper.showNext();
} else
{
oneOrTwo = 1;
one_layout1.setVisibility(View.VISIBLE);
two_layout2.setVisibility(View.GONE);
Rotate3dAnimation in = new Rotate3dAnimation(90, 0, halfWidth,
halfHeight, depthz, false);
in.setDuration(duration);
in.setStartOffset(duration);
viewFlipper.setInAnimation(in);
Rotate3dAnimation out = new Rotate3dAnimation(0, -90, halfWidth,
halfHeight, depthz, false);
out.setDuration(duration);
viewFlipper.setOutAnimation(out);
viewFlipper.showPrevious();
}
}
代码中还有两个动画类,项目代码已分享到github:
https://github.com/kk-java/MyViewFlipper
- 大小: 45.8 KB
分享到:
相关推荐
在本项目中,开发者利用ViewFlipper来实现屏幕间的动画切换效果,使得用户体验更加生动有趣。 首先,我们需要了解ViewFlipper的基本用法。在`MainActivity`类中,`ViewFlipper`对象被初始化为`flipper`。通过调用`...
通过分析这些文件,可以学习到如何实际应用上述概念和技术,从而在自己的项目中实现类似的3D界面切换效果。 总的来说,创建Android 3D切换界面效果是一个涉及动画原理、视图组件和动画资源管理的综合过程。通过巧妙...
综上所述,实现“android 3D旋转相册”需要深入理解Android图形和动画机制,熟练掌握OpenGL ES,以及具备一定的布局设计和性能优化技巧。文件列表中的"TwoSidedView"可能是实现双面卡片视图的自定义View类,用于展示...
创建3D旋转动画的关键步骤如下: 1. **定义旋转参数**:包括旋转的角度、旋转轴(X轴、Y轴或Z轴)、旋转中心点等。在`Rotate3dAnimation`中,我们需要指定沿着中轴线的旋转,这意味着我们需要设置适当的旋转轴和...
`Animation`允许开发者自定义动画效果,包括旋转、平移等,以实现视图间的3D转换。`ViewFlipper`则是一个内置的布局,可以自动在子视图间切换,结合适当的`Animation`,可以轻松实现3D翻转效果。 3. **...
3. `<Transition>`:在XML动画中,`<transition>`元素定义了两个状态之间的动画效果,例如3D旋转、缩放等。通过调整`<rotate>`, `<translate>`, `<scale>`等子元素,可以实现不同的3D变换。 4. `android:duration`...
在这个案例中,我们将使用 Rotate3dAnimation,这是一种自定义的旋转动画,可以让视图在3D空间中进行翻转。 以下是一段基本的3D翻转动画的实现: ```java public class Rotate3dAnimation extends Animation { ...
- Android中的` Rotate3dAnimation `类是实现3D旋转的关键,它可以设置旋转轴、旋转角度以及是否沿轴心翻转等参数。 2. **关键技术和步骤**: - **创建动画**:首先,我们需要创建一个`Rotate3dAnimation`实例,...
- 3D旋转动画常用于应用启动画面、菜单切换、图片查看器等场景,提升用户体验。 - 需要注意性能优化,避免在低端设备上过度使用复杂的3D动画,以免影响应用流畅性。 以上知识点涵盖了Android平台3D动画的基本原理...
在3D效果中,属性动画(Property Animation)尤其重要,它允许开发者对对象的属性进行平滑的连续改变,从而实现3D旋转、缩放等效果。 3. **ViewFlipper与ViewSwitcher**: 这是Android提供的两个布局组件,可以用来...
在Android开发中,实现图片的3D切换效果是一种常见的用户界面增强技术,它可以为应用程序提供更生动、更具吸引力的交互体验。本知识点主要探讨如何利用Android相机类(Camera)来创建这种视觉效果。 首先,我们需要...
开发者可能会使用Android的动画库(Animation)或者视图转换(ViewFlipper)来创建3D翻转效果。在3D转换过程中,通常会涉及到矩阵变换(Matrix),通过调整X、Y、Z轴的坐标,模拟出物体在三维空间中的旋转和移动,...
在Android开发中,3D翻转效果是一种常见的动画效果,常用于界面切换或者展示细节时增加用户的交互体验。本文将详细讲解如何在Android中实现这种3D翻转效果,包括基本概念、关键技术和实践步骤。 首先,理解3D翻转的...
总之,`DialogFlipDemo`是一个展示如何在Android中实现3D翻转效果的实例,它涵盖了动画设计、视图切换、3D变换矩阵以及用户交互等多个重要知识点。开发者可以借鉴这个示例,为自己的应用添加类似的特效,提升用户的...
1. **定义动画**:首先,我们需要定义一个3D旋转动画。这可以通过创建一个`ObjectAnimator`对象并设置其目标对象、属性和动画持续时间来完成。例如,我们可以使用`ObjectAnimator.ofFloat()`方法,传入视图对象、...
这个自定义组件通常会利用`Matrix`类来处理3D旋转,通过调整视图的变换矩阵实现3D翻页。同时,我们还需要结合`SurfaceView`或`TextureView`来处理媒体内容的渲染,确保流畅的动画性能。 倒影效果是Grallery3D中的一...
在Android开发中,3D翻转效果是一种常见的动画过渡手段,可以为用户界面带来生动而富有立体感的视觉体验。这种效果通常应用于Activity之间的切换,使得应用的交互更加吸引人。本文将深入探讨如何实现Android的3D翻转...
在Android中,`ViewPager`是一个非常实用的组件,用于在多个页面间进行平滑的左右滑动切换,而3D轮播则是在此基础上增加了深度和旋转效果,创建出立体的视觉体验。 实现3D轮播的关键在于动画处理。开发者可能需要...
Gallery组件在早期版本的Android SDK中被广泛用于创建3D旋转效果,但它在API 16后就被弃用了。因此,开发者需要寻找替代方案来实现类似的功能。这个压缩包可能提供了一种自定义实现的方法,通过组合使用ViewFlipper...
"android 仿书籍翻页效果(bug修复版本)"是一个专为此目的设计的项目,它修复了旧版本中第一页和第二页显示空白的问题,提供了一个更稳定的用户界面翻页动画体验。以下是关于这个主题的详细知识点: 1. **Android UI...