Make smooth transition between Search fragment and the others
- use TransitionManager.beginDelayedTransition() and getFragmentManager().executePendingTransactions() Change-Id: I5d583916afb8b87dfe2b17b4e685ef5384c5fbd2
This commit is contained in:
@@ -51,6 +51,7 @@ import android.preference.PreferenceFragment;
|
|||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.preference.PreferenceScreen;
|
import android.preference.PreferenceScreen;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.transition.TransitionManager;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
@@ -60,6 +61,7 @@ import android.view.MenuInflater;
|
|||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
|
import android.view.ViewGroup;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
|
||||||
import android.widget.SearchView;
|
import android.widget.SearchView;
|
||||||
@@ -309,6 +311,8 @@ public class SettingsActivity extends Activity
|
|||||||
|
|
||||||
private boolean mIsShowingDashboard;
|
private boolean mIsShowingDashboard;
|
||||||
|
|
||||||
|
private ViewGroup mContent;
|
||||||
|
|
||||||
private SearchView mSearchView;
|
private SearchView mSearchView;
|
||||||
private MenuItem mSearchMenuItem;
|
private MenuItem mSearchMenuItem;
|
||||||
private boolean mSearchMenuItemExpanded = false;
|
private boolean mSearchMenuItemExpanded = false;
|
||||||
@@ -444,6 +448,8 @@ public class SettingsActivity extends Activity
|
|||||||
|
|
||||||
setContentView(R.layout.settings_main);
|
setContentView(R.layout.settings_main);
|
||||||
|
|
||||||
|
mContent = (ViewGroup) findViewById(R.id.prefs);
|
||||||
|
|
||||||
getFragmentManager().addOnBackStackChangedListener(this);
|
getFragmentManager().addOnBackStackChangedListener(this);
|
||||||
|
|
||||||
mDisplayHomeAsUpEnabled = true;
|
mDisplayHomeAsUpEnabled = true;
|
||||||
@@ -794,7 +800,7 @@ public class SettingsActivity extends Activity
|
|||||||
FragmentTransaction transaction = getFragmentManager().beginTransaction();
|
FragmentTransaction transaction = getFragmentManager().beginTransaction();
|
||||||
transaction.replace(R.id.prefs, f);
|
transaction.replace(R.id.prefs, f);
|
||||||
if (withTransition) {
|
if (withTransition) {
|
||||||
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
|
TransitionManager.beginDelayedTransition(mContent);
|
||||||
}
|
}
|
||||||
if (addToBackStack) {
|
if (addToBackStack) {
|
||||||
transaction.addToBackStack(SettingsActivity.BACK_STACK_PREFS);
|
transaction.addToBackStack(SettingsActivity.BACK_STACK_PREFS);
|
||||||
@@ -803,6 +809,7 @@ public class SettingsActivity extends Activity
|
|||||||
transaction.setBreadCrumbTitle(title);
|
transaction.setBreadCrumbTitle(title);
|
||||||
}
|
}
|
||||||
transaction.commitAllowingStateLoss();
|
transaction.commitAllowingStateLoss();
|
||||||
|
getFragmentManager().executePendingTransactions();
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1249,12 +1256,10 @@ public class SettingsActivity extends Activity
|
|||||||
if (current != null && current instanceof SearchResultsSummary) {
|
if (current != null && current instanceof SearchResultsSummary) {
|
||||||
mSearchResultsFragment = (SearchResultsSummary) current;
|
mSearchResultsFragment = (SearchResultsSummary) current;
|
||||||
} else {
|
} else {
|
||||||
final boolean isShowingSwitchBar =
|
|
||||||
(mSwitchBar != null) ? mSwitchBar.isShowing() : false;
|
|
||||||
String title = getString(R.string.search_results_title);
|
String title = getString(R.string.search_results_title);
|
||||||
mSearchResultsFragment = (SearchResultsSummary) switchToFragment(
|
mSearchResultsFragment = (SearchResultsSummary) switchToFragment(
|
||||||
SearchResultsSummary.class.getName(), null, false, true, title,
|
SearchResultsSummary.class.getName(), null, false, true, title,
|
||||||
!isShowingSwitchBar);
|
true);
|
||||||
}
|
}
|
||||||
mSearchResultsFragment.setSearchView(mSearchView);
|
mSearchResultsFragment.setSearchView(mSearchView);
|
||||||
mSearchMenuItemExpanded = true;
|
mSearchMenuItemExpanded = true;
|
||||||
|
Reference in New Issue
Block a user