I am learning to develop android apps and I am currently trying to add a fragment by sliding it from a side. The fragment is added, but it just appears, without animation.
There is a button in FragmentOne, I attach an event to it in MainActivity so that when clicked FragmentTwo. The event is correctly intercepted
Can anybody spot what I am doing wrong?
MainActivity.java
public class MainActivity extends Activity
{
LinearLayout ll;
FragmentOne f1;
Animation fadeIn;
@Override
protected void onCreate ( Bundle savedInstanceState )
{
super.onCreate ( savedInstanceState );
setContentView ( R.layout.activity_main );
f1 = new FragmentOne ();
FragmentTransaction ft1 = getFragmentManager ().beginTransaction ();
ft1.add ( R.id.topFl, f1 );
ft1.commit ();
}
@Override
protected void onStart ()
{
super.onStart ();
Button b = f1.getAddFragmentButton ();
b.setOnClickListener
(
new Button.OnClickListener ()
{
public void onClick ( View v )
{
FragmentTransaction ft2 = getFragmentManager ().beginTransaction ();
ft2.setCustomAnimations ( R.anim.enter_from_right, R.anim.exit_to_left, R.anim.enter_from_right, R.anim.exit_to_left );
ft2.addToBackStack ( null );
ft2.add ( R.id.bottomFl, new FragmentTwo () );
ft2.commit ();
}
}
);
}
}
enter_from_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-100%" android:toXDelta="0%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="1700"/>
</set>
exit_to_left.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<objectAnimator
android:fromXDelta="0%" android:toXDelta="-100%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="1700"/>
</set>