卡片切换效果
This commit is contained in:
@@ -28,7 +28,7 @@ public class FragmentStack {
|
||||
|
||||
private Stack< FragmentDescriptor > mFragmentStack = new Stack<>();
|
||||
private FragmentManager mFragmentManager;
|
||||
private FragmentTransaction mFragmentTransaction;
|
||||
//private FragmentTransaction mFragmentTransaction;
|
||||
private int mContainerId;
|
||||
private Activity mActivity;
|
||||
private FragmentDescriptor mCurrentFragment;
|
||||
@@ -69,7 +69,7 @@ public class FragmentStack {
|
||||
return;
|
||||
}
|
||||
|
||||
mFragmentTransaction = mFragmentManager.beginTransaction();
|
||||
FragmentTransaction mFragmentTransaction = mFragmentManager.beginTransaction();
|
||||
|
||||
if ( mCurrentFragment != null ) {
|
||||
mFragmentTransaction.hide( mCurrentFragment.getFragment() );
|
||||
@@ -78,8 +78,9 @@ public class FragmentStack {
|
||||
if ( descriptor.hasTransition() ) {
|
||||
mFragmentTransaction.setTransition( FragmentTransaction.TRANSIT_FRAGMENT_OPEN );
|
||||
}
|
||||
mFragmentTransaction.show(descriptor.getFragment());
|
||||
//mFragmentTransaction.addToBackStack( null );
|
||||
mFragmentTransaction.commitAllowingStateLoss();
|
||||
mFragmentTransaction.commitNowAllowingStateLoss();
|
||||
if ( descriptor.hasTransition() ) {
|
||||
mFragmentManager.executePendingTransactions();
|
||||
}
|
||||
@@ -100,14 +101,14 @@ public class FragmentStack {
|
||||
return;
|
||||
}
|
||||
|
||||
mFragmentTransaction = mFragmentManager.beginTransaction();
|
||||
FragmentTransaction mFragmentTransaction = mFragmentManager.beginTransaction();
|
||||
|
||||
mCurrentFragment = mFragmentStack.pop();
|
||||
if ( mCurrentFragment != null ) {
|
||||
mFragmentTransaction.remove( mCurrentFragment.getFragment() );
|
||||
}
|
||||
if ( mFragmentStack.isEmpty() ) {
|
||||
mFragmentTransaction.commitAllowingStateLoss();
|
||||
mFragmentTransaction.commitNowAllowingStateLoss();
|
||||
if ( mCurrentFragment.isNotifyMainModule() ) {
|
||||
if ( mFragmentStackTransactionListener != null ) {
|
||||
mFragmentStackTransactionListener.onTransaction( getStackSize() );
|
||||
@@ -120,7 +121,7 @@ public class FragmentStack {
|
||||
FragmentDescriptor fragment = mFragmentStack.peek();
|
||||
if ( fragment != null ) {
|
||||
mFragmentTransaction.show( fragment.getFragment() );
|
||||
mFragmentTransaction.commitAllowingStateLoss();
|
||||
mFragmentTransaction.commitNowAllowingStateLoss();
|
||||
}
|
||||
|
||||
if ( mCurrentFragment.isNotifyMainModule() ) {
|
||||
@@ -166,11 +167,11 @@ public class FragmentStack {
|
||||
invokeCallback();
|
||||
return;
|
||||
}
|
||||
mFragmentTransaction = mFragmentManager.beginTransaction();
|
||||
FragmentTransaction mFragmentTransaction = mFragmentManager.beginTransaction();
|
||||
for ( FragmentDescriptor descriptor : mFragmentStack ) {
|
||||
mFragmentTransaction.remove( descriptor.getFragment() );
|
||||
}
|
||||
mFragmentTransaction.commitAllowingStateLoss();
|
||||
mFragmentTransaction.commitNowAllowingStateLoss();
|
||||
mFragmentStack.clear();
|
||||
mCurrentFragment = null;
|
||||
if ( mFragmentStackTransactionListener != null ) {
|
||||
|
||||
Reference in New Issue
Block a user