From 9ff82bf2b33513052500473d0d6d025a80dcecbf Mon Sep 17 00:00:00 2001 From: Chet Haase Date: Tue, 5 Oct 2010 14:30:51 -0700 Subject: [PATCH] Adding next/prev to fragment animations and to PreferenceActivity Adding a new concept of "next" and "previous" to fragment.s Previously, fragments would either be placed onto or taken off of the stack, or would just replace the current fragment. The new next/prev capability gives the ability to run a transition that is specific to next/previous operations, such as navigating forward and backward in a list. New next/prev animations may be associated with a fragment replace operation to get the next/prev animations built into the system (next animates things up, prev animates them down). Change-Id: Ia9f3663bac009376420d845b396ac51b8e4d1647 --- api/current.xml | 128 ++++++++++++++---- core/java/android/app/FragmentManager.java | 16 +++ .../java/android/app/FragmentTransaction.java | 8 +- .../preference/PreferenceActivity.java | 19 ++- core/res/res/anim/fragment_close_enter.xml | 14 -- core/res/res/anim/fragment_close_exit.xml | 14 -- core/res/res/anim/fragment_next_enter.xml | 32 +++++ core/res/res/anim/fragment_next_exit.xml | 32 +++++ core/res/res/anim/fragment_open_enter.xml | 14 -- core/res/res/anim/fragment_open_exit.xml | 14 -- core/res/res/anim/fragment_prev_enter.xml | 32 +++++ core/res/res/anim/fragment_prev_exit.xml | 32 +++++ core/res/res/values/attrs.xml | 4 + core/res/res/values/public.xml | 4 + core/res/res/values/styles.xml | 4 + 15 files changed, 274 insertions(+), 93 deletions(-) create mode 100644 core/res/res/anim/fragment_next_enter.xml create mode 100644 core/res/res/anim/fragment_next_exit.xml create mode 100644 core/res/res/anim/fragment_prev_enter.xml create mode 100644 core/res/res/anim/fragment_prev_exit.xml diff --git a/api/current.xml b/api/current.xml index 96a4d62194f0d..953c9f34cc402 100644 --- a/api/current.xml +++ b/api/current.xml @@ -2103,7 +2103,7 @@ type="int" transient="false" volatile="false" - value="16843563" + value="16843567" static="true" final="true" deprecated="not deprecated" @@ -2125,7 +2125,7 @@ type="int" transient="false" volatile="false" - value="16843572" + value="16843576" static="true" final="true" deprecated="not deprecated" @@ -2136,7 +2136,7 @@ type="int" transient="false" volatile="false" - value="16843571" + value="16843575" static="true" final="true" deprecated="not deprecated" @@ -2147,7 +2147,7 @@ type="int" transient="false" volatile="false" - value="16843573" + value="16843577" static="true" final="true" deprecated="not deprecated" @@ -2191,7 +2191,7 @@ type="int" transient="false" volatile="false" - value="16843580" + value="16843584" static="true" final="true" deprecated="not deprecated" @@ -2213,7 +2213,7 @@ type="int" transient="false" volatile="false" - value="16843576" + value="16843580" static="true" final="true" deprecated="not deprecated" @@ -2235,7 +2235,7 @@ type="int" transient="false" volatile="false" - value="16843574" + value="16843578" static="true" final="true" deprecated="not deprecated" @@ -2246,7 +2246,7 @@ type="int" transient="false" volatile="false" - value="16843581" + value="16843585" static="true" final="true" deprecated="not deprecated" @@ -2257,7 +2257,7 @@ type="int" transient="false" volatile="false" - value="16843582" + value="16843586" static="true" final="true" deprecated="not deprecated" @@ -2466,7 +2466,7 @@ type="int" transient="false" volatile="false" - value="16843570" + value="16843574" static="true" final="true" deprecated="not deprecated" @@ -2807,7 +2807,7 @@ type="int" transient="false" volatile="false" - value="16843589" + value="16843593" static="true" final="true" deprecated="not deprecated" @@ -2818,7 +2818,7 @@ type="int" transient="false" volatile="false" - value="16843588" + value="16843592" static="true" final="true" deprecated="not deprecated" @@ -4497,6 +4497,28 @@ visibility="public" > + + + + + + + + + + + + + + mHeaders.indexOf(mCurHeader)); setSelectedHeader(header); } @@ -979,7 +984,10 @@ public abstract class PreferenceActivity extends ListActivity implements FragmentTransaction transaction = getFragmentManager().openTransaction(); startPreferenceFragment(fragment, transaction); if (push) { + transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); transaction.addToBackStack(BACK_STACK_PREFS); + } else { + transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_NEXT); } transaction.commit(); } @@ -1001,6 +1009,7 @@ public abstract class PreferenceActivity extends ListActivity implements FragmentTransaction transaction = getFragmentManager().openTransaction(); startPreferenceFragment(f, transaction); transaction.setBreadCrumbTitle(pref.getTitle()); + transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); transaction.addToBackStack(BACK_STACK_PREFS); transaction.commit(); return true; diff --git a/core/res/res/anim/fragment_close_enter.xml b/core/res/res/anim/fragment_close_enter.xml index 53afa2a1f2771..7a9a3b909e37d 100644 --- a/core/res/res/anim/fragment_close_enter.xml +++ b/core/res/res/anim/fragment_close_enter.xml @@ -17,20 +17,6 @@ */ --> - - - - + + + + + \ No newline at end of file diff --git a/core/res/res/anim/fragment_next_exit.xml b/core/res/res/anim/fragment_next_exit.xml new file mode 100644 index 0000000000000..fbb82d9542cb5 --- /dev/null +++ b/core/res/res/anim/fragment_next_exit.xml @@ -0,0 +1,32 @@ + + + + + + \ No newline at end of file diff --git a/core/res/res/anim/fragment_open_enter.xml b/core/res/res/anim/fragment_open_enter.xml index 142f60c4cb147..ac60494653734 100644 --- a/core/res/res/anim/fragment_open_enter.xml +++ b/core/res/res/anim/fragment_open_enter.xml @@ -17,20 +17,6 @@ */ --> - - - - + + + + + \ No newline at end of file diff --git a/core/res/res/anim/fragment_prev_exit.xml b/core/res/res/anim/fragment_prev_exit.xml new file mode 100644 index 0000000000000..a445a4d08b496 --- /dev/null +++ b/core/res/res/anim/fragment_prev_exit.xml @@ -0,0 +1,32 @@ + + + + + + \ No newline at end of file diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 8e2b762f0adf5..33d3eeb482d39 100755 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -1088,6 +1088,10 @@ + + + + diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index 35f8df56268ec..2c3c4fcc76b97 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -1332,6 +1332,10 @@ + + + + diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml index 3dfaf7f6de101..4b5047ed84deb 100644 --- a/core/res/res/values/styles.xml +++ b/core/res/res/values/styles.xml @@ -78,6 +78,10 @@ @anim/fragment_open_exit @anim/fragment_close_enter @anim/fragment_close_exit + @anim/fragment_next_enter + @anim/fragment_next_exit + @anim/fragment_prev_enter + @anim/fragment_prev_exit