通过animation在活动中交换片段
我想通过animation交换活动中的两个片段。假设PageA是用于分割A并且在屏幕的左侧,而PageB是用于片段B,即在屏幕的右侧。 现在我想要的是,当我点击pageA上的一个button时,PageA将会移动到屏幕的右侧,并带有一些过渡animation。
我尝试了下面的代码来replace位置
FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.container, new FragB()); fragmentTransaction.commit();
寻找一些线索。
提前致谢。
老questiion,你可能已经知道了,但为了将来的参考:
以下是通过代码replace片段时用于设置自定义animation的内容:
FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right); ft.replace(R.id.fragment_container, newFragment, "fragment"); // Start the animated transition. ft.commit();
以下是slide_in_leftanimation的一个示例:
<?xml version="1.0" encoding="utf-8"?> <set> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta="-100%" android:toXDelta="0" android:interpolator="@android:anim/decelerate_interpolator" android:duration="500"/> </set>
请注意,如果您正在使用兼容性库,则为animation。 相反,如果您使用的是带有对FragmentManager的本机支持的SDK,那么您的animation将如下所示:
<?xml version="1.0" encoding="utf-8"?> <set> <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:propertyName="x" android:valueType="floatType" android:valueFrom="-1280" android:valueTo="0" android:duration="500"/> </set>
这是因为兼容性库不支持新的objectAnimatortypes,只能实现旧的animation框架。
- 无法安装Android 4.2 API
- 如何使相机居中,使标记位于屏幕底部? (Google map api V2 Android)
- ActivityManager中的奇怪function:isUserAMonkey。 这是什么意思,它有什么用?
- INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES第一次安装应用程序
- 什么是Android的冰柱参数?
- Android:“项目path必须只有一个段”
- 我怎样才能find在Android中的两个date之间的年数?
- 错误:状态{statusCode = DEVELOPER_ERROR,分辨率=空}
- “Android库项目无法启动”?