动态设置 Activity由左向由或由右向左
1.编写 LayoutAnimation XML
layout_left_in.xml
<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/animation_left"
android:delay="100%"
android:animation="@anim/side_left" />
side_left.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="300"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" />
</set>
layout_right_in.xml
<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:delay="100%"
android:animation="@anim/side_right" />
side_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="-100%p" android:toXDelta="0"
android:duration="@android:integer/config_shortAnimTime" />
</set>
2. 在Activity中通过LayoutAnimationController 动态设置 Layout的LayoutAnimation
LayoutAnimationController controller = null;
Bundle extras;
public void onCreate(Bundle saveInstanceState) {
super.onCreate(saveInstanceState);
// setContentView(R.layout.sales_memo_list);
LayoutInflater factory = LayoutInflater
.from(SalesMemoListActivity.this);
final LinearLayout dialogEntryView = (LinearLayout) factory.inflate(
R.layout.sales_memo_list, null);
extras = getIntent().getExtras();
if (extras != null) {
String animation = extras.getString("animation");
if (animation.equals("left")) {
controller = AnimationUtils.loadLayoutAnimation(this,
R.anim.layout_left_in);
} else {
controller = AnimationUtils.loadLayoutAnimation(this,
R.anim.layout_right_in);
}
dialogEntryView.setLayoutAnimation(controller);
}
setContentView(dialogEntryView);
}
分享到:
相关推荐
通过阅读源码,我们可以深入理解手势识别和Activity切换的具体实现细节,这对于优化性能和解决可能出现的问题非常有帮助。 6. **工具支持**: - 除了原生的手势识别库,还有一些第三方库如AndroidSwipeLayout、...
通过`overridePendingTransition()`方法,可以指定Activity切换时应用的动画资源ID。 2. Fade动画: Fade动画用于对象的淡入淡出,常用于背景颜色或者图片的渐变。 3. Explode动画: Explode动画是一种全屏的...
本篇将详细介绍Android中的四种常见Activity切换动画,包括从下到上、翻页、大小从1到0以及Alpha(透明度)从1到0的变化。 首先,我们来看从下到上的切换动画。这种动画常用于模仿抽屉效果,给人一种新界面从下方拉...
当滑动满足一定条件(例如,滑动距离和方向)时,调用`finish()`方法关闭当前Activity,并可以通过`overridePendingTransition()`设置过渡动画,以实现与手势滑动同步的动画效果。 此外,你还可以利用Android的过渡...
在Android中,可以使用ActivityOptions.makeSceneTransitionAnimation或overridePendingTransition方法来添加进入和退出动画,使Activity切换更流畅。 5. 测试与优化:完成上述步骤后,进行充分的测试,确保在各种...
`SwitchLayout`就是这样一个专门用于实现Activity切换时动画特效的库,它的目标是为Android应用带来与iOS类似的平滑和优雅的视图切换效果。本文将深入探讨`SwitchLayout`的原理、使用方法以及如何将其集成到你的...
需要注意的是,让 Android 横竖屏切换时不销毁当前的 Activity,并不意味着我们可以完全忽视屏幕方向的改变。我们仍然需要在 Java 代码中加入配置信息改动的处理代码,以便正确处理屏幕方向的改变。 另外,Activity...
本教程将详细介绍如何在Android中实现Activity切换的特效。 1. **理解Activity切换**: - Activity的切换是由`Intent`对象触发的,它用来指定用户要跳转的目标Activity。 - 默认情况下,Activity切换是平滑的,但...
Android 开发—使用 ActivityGroup 来切换 Activity 和 Layout Android 开发中,经常需要在不同的 Activity 之间进行切换,并且显示不同的ContentView。为了实现这个功能,我们可以使用 ActivityGroup 来管理不同...
如果你需要更自定义的行为,比如支持上滑和下滑,那么可能需要自定义ScrollView,重写onTouchEvent方法,根据MotionEvent的动作类型和坐标变化来判断滑动方向,并触发相应的Activity切换。 为了实现左右滑动切换...
例如,你可以设置`android:launchMode="singleTask"`或`android:launchMode="singleTop"`,这样在启动新Activity时,系统会考虑是否需要重新创建已存在的Activity,从而避免重复实例。 接下来,我们需要自定义转场...
在Android开发中,图片切换特效是提升用户体验的重要一环,特别是在设计用户界面或者制作动态壁纸时。本资源“android150种图片切换特效”提供了一套丰富的视觉效果,用于展示图片之间的过渡动画。虽然没有提供源...
如果设置为"true",activity可以在用户导航时改变其所属的任务,例如从一个任务切换到另一个任务。 2. android:alwaysRetainTaskState=["true" | "false"] 如果设置为"true",即使用户离开并重新进入任务,系统也...
9. **Activity的配置变更**:如果Activity的配置(如屏幕方向、语言等)发生改变,系统默认会重新创建Activity。开发者可以通过重写onConfigurationChanged(Configuration)方法来自定义处理方式,或者在Manifest中...
为了优化用户体验,避免每次屏幕方向改变时都重新创建`Activity`,可以在`AndroidManifest.xml`文件中为特定的`Activity`添加`android:configChanges`属性。例如: 1. **android:configChanges="orientation"**:...
在 AndroidManifest 清单文件中,我们可以通过 android:screenOrientation 属性来指定 Activity 的方向,这样可以避免横竖屏切换时重新创建 Activity。 此外,我们还可以使用 setRequestedOrientation 方法来设置...
这是因为Activity需要重新初始化自己的组件和资源,以适应新的屏幕方向。 Activity之间的数据交互 Activity之间可以通过Intent和Bundle来交互数据。Intent是一个消息对象,用于传递数据和请求操作。Bundle是一个...
在Android开发中,实现Activity之间的滑动切换效果可以极大地提升用户体验,这种效果通常与新闻阅读应用、杂志式布局或者页面浏览类应用相关。本话题主要关注如何通过手势识别来实现类似Zaker应用中的Activity滑动...
在Android开发中,视图切换是一项基础且重要的任务,它涉及到用户界面的动态更新和交互体验的提升。本文将深入探讨如何在Android环境下实现视图切换,并以模仿Launcher的工作空间(Workspace)为例进行讲解。 首先...
当设备屏幕方向发生变化,比如从横屏切换到竖屏,系统默认会销毁当前运行的Activity并重建它以适应新的屏幕尺寸。这个过程可能导致数据丢失,用户体验中断,因此开发者需要理解如何正确处理横竖屏切换。 标题中的...