【发布时间】:2015-09-23 13:18:47
【问题描述】:
我必须创建一个包含大约 6 个片段的活动,一个重要的要求是片段在一个方向上动画并在它们进入的同一方向上向后动画,我已经能够找到一个可以为进入动画制作动画的解决方案,但退出动画永远不会运行,任何帮助都会有很大帮助!
活动
public class HomeFragmentActivity extends Activity {
Fragment fr;
Integer pagePosition;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_fragment);
pagePosition = 0;
}
public void categoryNavClick(View view) {
fr = new FragmentOne();
FragmentManager fm = getFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.enter_right_anim, R.anim.enter_right_anim);
fragmentTransaction.replace(R.id.frHomeFragment, fr);
fragmentTransaction.commit();
pagePosition = 0;
}
public void homeNavClick(View view) {
fr = new FragmentTwo();
FragmentManager fm = getFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.enter_right_anim, R.anim.exit_right_anim);
fragmentTransaction.replace(R.id.frHomeFragment, fr);
fragmentTransaction.commit();
pagePosition = 1;
}
}
enter_right_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:propertyName="x"
android:valueFrom="0"
android:valueTo="-2000"
android:valueType="floatType" />
</set>
exit_right_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:propertyName="x"
android:valueFrom="2000"
android:valueTo="0"
android:valueType="floatType" />
</set>
【问题讨论】:
-
您是否考虑过使用视图分页器和选项卡布局,两者都是应用程序兼容库的一部分,为您完成许多繁重的工作,包括动画片段和滑动片段,也可以向后移植到较旧的安卓版本。
-
不幸的是,当从一个视图移动到下一个视图时,其他视图无法显示,客户想要的是类似于 instagram 在其应用上所做的导航
标签: java android android-layout android-fragments fragmentmanager