Transition with nested fragment creates a noticeable lag instead of smooth transition, how to smoothen this...
I'm having an issue transitioning between fragment. There transition between fragment A to B is very choppy as seen in this GIF: https://imgur.com/a/PDogrxV. If you notice, when I click the fab button, the transition stops in the middle of the screen. I tried to debug it slowing down the animation and this is the result ( with sideways transition): https://imgur.com/a/1ipQvfW
I have a NavigationBar fragment which has a FrameLayout, in which I add my recyclerViewFragment (which inherits from a BaseFragment). My goal is really to smoothen the transition to have no "choppiness" between fragment A ( no paired device) to B which contains a recycler view as shown in the first GIF link,
For reference:
An example NavigationController ( which inherits from my NavBar fragment):
public class ExampleController extends NavBarFragment {
public static ExampleController newInstance() {
ExampleController fragment = new ExampleController();
fragment.setArguments(fragment.createInitBundle());
return fragment;
}
@Override
protected BaseFragment rootFragment() {
return RecyclerViewFragment.newInstance();
}
@Override
public Bundle createInitBundle() {
return new Bundle();
}
}
The rootFrament() method is called in the initializeLayout method found in the NavBarFragment(which is called in the OnCreateView() ) -- this is just to give some context:
@Override
protected void initializeLayout(View view) {
super.initializeLayout(view);
this.toolbar.setNavigationOnClickListener(this::navigationButtonClick);
this.toolbar.setOnMenuItemClickListener(this::navigationMenuClick);
progressBar.getLayoutParams().height = 0;
progressBar.requestLayout();
this.setContentFragment(view, this.rootFragment());
}
and the setContentFragment calls the Transaction manager:
private void setContentFragment(View view, BaseFragment frag) {
Context context = getActivity() != null ? getActivity().getApplicationContext() : null;
if (frag == null || view == null || context == null) {
return;
}
this.currentFragment = frag;
configureUIComponents(context, frag, 0);
getChildFragmentManager().beginTransaction()
.replace(view.findViewById(R.id.main_container).getId(), frag, createFragmentTag(0))
.commit();
}
An example of RecyclerViewFragment:
public class RecyclerViewFragment extends BaseRecyclerViewFragment {
public static RecyclerViewFragment newInstance(){
//navbar implement
Bundle args = new Bundle();
args.putString(NavigationBarConfig.KEY_NAV_BAR_TITLE, "Paired Devices");
args.putBoolean(NavigationBarConfig.KEY_SHOW_NAV_BAR, true);
args.putBoolean(FloatingActionButtonConfig.KEY_SHOW_FAB_BUTTON, true);
RecyclerViewFragment fragment = new RecyclerViewFragment();
fragment.setArguments(args);
return fragment;
}.
I have tried a few things: 1) I have tried using listeners for the "end" of the transition to wait to load the data. This was based on this stack overflow question: Nested fragments transitioning incorrectly. I implemented as follows ( I won't share the whole code for, well ,reasons). The method didDisappear / didAppear() is then use when I load it my model:
@Override
public Animator onCreateAnimator(int transit, boolean enter, int nextAnim) {
Animator animator = null;
// Check for "Show" Transition ids
if (showTransitionAnimationIds.contains(nextAnim)) {
animator = AnimatorInflater.loadAnimator(getActivity(), nextAnim);
if (animator != null && enter) {
animator.addListener(new TransitionAnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
if (previousFragment != null) {
previousFragment.willDisappear();
}
willAppear();
}
@Override
public void onAnimationEnd(Animator animation) {
transitionDone.set(true);
if (previousFragment != null) {
previousFragment.didDisappear();
}
didAppear();
}
});
}
} else if (hideTransitionAnimationIds.contains(nextAnim)) {
animator = AnimatorInflater.loadAnimator(getActivity(), nextAnim);
if (animator != null && !enter) {
animator.addListener(new TransitionAnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
if (previousFragment != null) {
previousFragment.willAppear();
}
willDisappear();
}
@Override
public void onAnimationEnd(Animator animation) {
if (previousFragment != null) {
previousFragment.didAppear();
}
didDisappear();
}
});
}
}
I use this method for the model loading:
protected void waitForTransition() {
if (transitionDone != null) {
try {
transitionDone.get();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Which usually helps me "wait" on the animation to end before I load my models. I thought this was the issue.
My goal is really to smoothen out the animation. I'm aware of the trick to "provide an image" ( to paraphrase) shown in this question: Nested fragments disappear during transition animation but I was looking for something a little bit cleaner. I was thinking a possibility could be to create two fragments on the fly? I.e: have an empty layout with 2 frameLayout in which I could just inject two fragments at run-time. Although I haven't tried that, it doesn't seem very modular.
java


add a comment |
I'm having an issue transitioning between fragment. There transition between fragment A to B is very choppy as seen in this GIF: https://imgur.com/a/PDogrxV. If you notice, when I click the fab button, the transition stops in the middle of the screen. I tried to debug it slowing down the animation and this is the result ( with sideways transition): https://imgur.com/a/1ipQvfW
I have a NavigationBar fragment which has a FrameLayout, in which I add my recyclerViewFragment (which inherits from a BaseFragment). My goal is really to smoothen the transition to have no "choppiness" between fragment A ( no paired device) to B which contains a recycler view as shown in the first GIF link,
For reference:
An example NavigationController ( which inherits from my NavBar fragment):
public class ExampleController extends NavBarFragment {
public static ExampleController newInstance() {
ExampleController fragment = new ExampleController();
fragment.setArguments(fragment.createInitBundle());
return fragment;
}
@Override
protected BaseFragment rootFragment() {
return RecyclerViewFragment.newInstance();
}
@Override
public Bundle createInitBundle() {
return new Bundle();
}
}
The rootFrament() method is called in the initializeLayout method found in the NavBarFragment(which is called in the OnCreateView() ) -- this is just to give some context:
@Override
protected void initializeLayout(View view) {
super.initializeLayout(view);
this.toolbar.setNavigationOnClickListener(this::navigationButtonClick);
this.toolbar.setOnMenuItemClickListener(this::navigationMenuClick);
progressBar.getLayoutParams().height = 0;
progressBar.requestLayout();
this.setContentFragment(view, this.rootFragment());
}
and the setContentFragment calls the Transaction manager:
private void setContentFragment(View view, BaseFragment frag) {
Context context = getActivity() != null ? getActivity().getApplicationContext() : null;
if (frag == null || view == null || context == null) {
return;
}
this.currentFragment = frag;
configureUIComponents(context, frag, 0);
getChildFragmentManager().beginTransaction()
.replace(view.findViewById(R.id.main_container).getId(), frag, createFragmentTag(0))
.commit();
}
An example of RecyclerViewFragment:
public class RecyclerViewFragment extends BaseRecyclerViewFragment {
public static RecyclerViewFragment newInstance(){
//navbar implement
Bundle args = new Bundle();
args.putString(NavigationBarConfig.KEY_NAV_BAR_TITLE, "Paired Devices");
args.putBoolean(NavigationBarConfig.KEY_SHOW_NAV_BAR, true);
args.putBoolean(FloatingActionButtonConfig.KEY_SHOW_FAB_BUTTON, true);
RecyclerViewFragment fragment = new RecyclerViewFragment();
fragment.setArguments(args);
return fragment;
}.
I have tried a few things: 1) I have tried using listeners for the "end" of the transition to wait to load the data. This was based on this stack overflow question: Nested fragments transitioning incorrectly. I implemented as follows ( I won't share the whole code for, well ,reasons). The method didDisappear / didAppear() is then use when I load it my model:
@Override
public Animator onCreateAnimator(int transit, boolean enter, int nextAnim) {
Animator animator = null;
// Check for "Show" Transition ids
if (showTransitionAnimationIds.contains(nextAnim)) {
animator = AnimatorInflater.loadAnimator(getActivity(), nextAnim);
if (animator != null && enter) {
animator.addListener(new TransitionAnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
if (previousFragment != null) {
previousFragment.willDisappear();
}
willAppear();
}
@Override
public void onAnimationEnd(Animator animation) {
transitionDone.set(true);
if (previousFragment != null) {
previousFragment.didDisappear();
}
didAppear();
}
});
}
} else if (hideTransitionAnimationIds.contains(nextAnim)) {
animator = AnimatorInflater.loadAnimator(getActivity(), nextAnim);
if (animator != null && !enter) {
animator.addListener(new TransitionAnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
if (previousFragment != null) {
previousFragment.willAppear();
}
willDisappear();
}
@Override
public void onAnimationEnd(Animator animation) {
if (previousFragment != null) {
previousFragment.didAppear();
}
didDisappear();
}
});
}
}
I use this method for the model loading:
protected void waitForTransition() {
if (transitionDone != null) {
try {
transitionDone.get();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Which usually helps me "wait" on the animation to end before I load my models. I thought this was the issue.
My goal is really to smoothen out the animation. I'm aware of the trick to "provide an image" ( to paraphrase) shown in this question: Nested fragments disappear during transition animation but I was looking for something a little bit cleaner. I was thinking a possibility could be to create two fragments on the fly? I.e: have an empty layout with 2 frameLayout in which I could just inject two fragments at run-time. Although I haven't tried that, it doesn't seem very modular.
java


I'm not clear on what your problem is. Is it the bad framerate when the second fragment transitions in? Is it the spinning loading indicator on the second fragment? Is it the fact that each item seems to appear one-by-one once the loading is complete? More detail on what exactly is going wrong (as well as what exactly you want instead) would definitely be appreciated.
– Ben P.
Jan 2 at 22:39
Ah, sorry I guess I thought I made it clear, the first link shows a choppy transition. The spinner is fine. All I really want is a smooth transition from fragment A to fragment B :)
– MLec
Jan 3 at 1:38
add a comment |
I'm having an issue transitioning between fragment. There transition between fragment A to B is very choppy as seen in this GIF: https://imgur.com/a/PDogrxV. If you notice, when I click the fab button, the transition stops in the middle of the screen. I tried to debug it slowing down the animation and this is the result ( with sideways transition): https://imgur.com/a/1ipQvfW
I have a NavigationBar fragment which has a FrameLayout, in which I add my recyclerViewFragment (which inherits from a BaseFragment). My goal is really to smoothen the transition to have no "choppiness" between fragment A ( no paired device) to B which contains a recycler view as shown in the first GIF link,
For reference:
An example NavigationController ( which inherits from my NavBar fragment):
public class ExampleController extends NavBarFragment {
public static ExampleController newInstance() {
ExampleController fragment = new ExampleController();
fragment.setArguments(fragment.createInitBundle());
return fragment;
}
@Override
protected BaseFragment rootFragment() {
return RecyclerViewFragment.newInstance();
}
@Override
public Bundle createInitBundle() {
return new Bundle();
}
}
The rootFrament() method is called in the initializeLayout method found in the NavBarFragment(which is called in the OnCreateView() ) -- this is just to give some context:
@Override
protected void initializeLayout(View view) {
super.initializeLayout(view);
this.toolbar.setNavigationOnClickListener(this::navigationButtonClick);
this.toolbar.setOnMenuItemClickListener(this::navigationMenuClick);
progressBar.getLayoutParams().height = 0;
progressBar.requestLayout();
this.setContentFragment(view, this.rootFragment());
}
and the setContentFragment calls the Transaction manager:
private void setContentFragment(View view, BaseFragment frag) {
Context context = getActivity() != null ? getActivity().getApplicationContext() : null;
if (frag == null || view == null || context == null) {
return;
}
this.currentFragment = frag;
configureUIComponents(context, frag, 0);
getChildFragmentManager().beginTransaction()
.replace(view.findViewById(R.id.main_container).getId(), frag, createFragmentTag(0))
.commit();
}
An example of RecyclerViewFragment:
public class RecyclerViewFragment extends BaseRecyclerViewFragment {
public static RecyclerViewFragment newInstance(){
//navbar implement
Bundle args = new Bundle();
args.putString(NavigationBarConfig.KEY_NAV_BAR_TITLE, "Paired Devices");
args.putBoolean(NavigationBarConfig.KEY_SHOW_NAV_BAR, true);
args.putBoolean(FloatingActionButtonConfig.KEY_SHOW_FAB_BUTTON, true);
RecyclerViewFragment fragment = new RecyclerViewFragment();
fragment.setArguments(args);
return fragment;
}.
I have tried a few things: 1) I have tried using listeners for the "end" of the transition to wait to load the data. This was based on this stack overflow question: Nested fragments transitioning incorrectly. I implemented as follows ( I won't share the whole code for, well ,reasons). The method didDisappear / didAppear() is then use when I load it my model:
@Override
public Animator onCreateAnimator(int transit, boolean enter, int nextAnim) {
Animator animator = null;
// Check for "Show" Transition ids
if (showTransitionAnimationIds.contains(nextAnim)) {
animator = AnimatorInflater.loadAnimator(getActivity(), nextAnim);
if (animator != null && enter) {
animator.addListener(new TransitionAnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
if (previousFragment != null) {
previousFragment.willDisappear();
}
willAppear();
}
@Override
public void onAnimationEnd(Animator animation) {
transitionDone.set(true);
if (previousFragment != null) {
previousFragment.didDisappear();
}
didAppear();
}
});
}
} else if (hideTransitionAnimationIds.contains(nextAnim)) {
animator = AnimatorInflater.loadAnimator(getActivity(), nextAnim);
if (animator != null && !enter) {
animator.addListener(new TransitionAnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
if (previousFragment != null) {
previousFragment.willAppear();
}
willDisappear();
}
@Override
public void onAnimationEnd(Animator animation) {
if (previousFragment != null) {
previousFragment.didAppear();
}
didDisappear();
}
});
}
}
I use this method for the model loading:
protected void waitForTransition() {
if (transitionDone != null) {
try {
transitionDone.get();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Which usually helps me "wait" on the animation to end before I load my models. I thought this was the issue.
My goal is really to smoothen out the animation. I'm aware of the trick to "provide an image" ( to paraphrase) shown in this question: Nested fragments disappear during transition animation but I was looking for something a little bit cleaner. I was thinking a possibility could be to create two fragments on the fly? I.e: have an empty layout with 2 frameLayout in which I could just inject two fragments at run-time. Although I haven't tried that, it doesn't seem very modular.
java


I'm having an issue transitioning between fragment. There transition between fragment A to B is very choppy as seen in this GIF: https://imgur.com/a/PDogrxV. If you notice, when I click the fab button, the transition stops in the middle of the screen. I tried to debug it slowing down the animation and this is the result ( with sideways transition): https://imgur.com/a/1ipQvfW
I have a NavigationBar fragment which has a FrameLayout, in which I add my recyclerViewFragment (which inherits from a BaseFragment). My goal is really to smoothen the transition to have no "choppiness" between fragment A ( no paired device) to B which contains a recycler view as shown in the first GIF link,
For reference:
An example NavigationController ( which inherits from my NavBar fragment):
public class ExampleController extends NavBarFragment {
public static ExampleController newInstance() {
ExampleController fragment = new ExampleController();
fragment.setArguments(fragment.createInitBundle());
return fragment;
}
@Override
protected BaseFragment rootFragment() {
return RecyclerViewFragment.newInstance();
}
@Override
public Bundle createInitBundle() {
return new Bundle();
}
}
The rootFrament() method is called in the initializeLayout method found in the NavBarFragment(which is called in the OnCreateView() ) -- this is just to give some context:
@Override
protected void initializeLayout(View view) {
super.initializeLayout(view);
this.toolbar.setNavigationOnClickListener(this::navigationButtonClick);
this.toolbar.setOnMenuItemClickListener(this::navigationMenuClick);
progressBar.getLayoutParams().height = 0;
progressBar.requestLayout();
this.setContentFragment(view, this.rootFragment());
}
and the setContentFragment calls the Transaction manager:
private void setContentFragment(View view, BaseFragment frag) {
Context context = getActivity() != null ? getActivity().getApplicationContext() : null;
if (frag == null || view == null || context == null) {
return;
}
this.currentFragment = frag;
configureUIComponents(context, frag, 0);
getChildFragmentManager().beginTransaction()
.replace(view.findViewById(R.id.main_container).getId(), frag, createFragmentTag(0))
.commit();
}
An example of RecyclerViewFragment:
public class RecyclerViewFragment extends BaseRecyclerViewFragment {
public static RecyclerViewFragment newInstance(){
//navbar implement
Bundle args = new Bundle();
args.putString(NavigationBarConfig.KEY_NAV_BAR_TITLE, "Paired Devices");
args.putBoolean(NavigationBarConfig.KEY_SHOW_NAV_BAR, true);
args.putBoolean(FloatingActionButtonConfig.KEY_SHOW_FAB_BUTTON, true);
RecyclerViewFragment fragment = new RecyclerViewFragment();
fragment.setArguments(args);
return fragment;
}.
I have tried a few things: 1) I have tried using listeners for the "end" of the transition to wait to load the data. This was based on this stack overflow question: Nested fragments transitioning incorrectly. I implemented as follows ( I won't share the whole code for, well ,reasons). The method didDisappear / didAppear() is then use when I load it my model:
@Override
public Animator onCreateAnimator(int transit, boolean enter, int nextAnim) {
Animator animator = null;
// Check for "Show" Transition ids
if (showTransitionAnimationIds.contains(nextAnim)) {
animator = AnimatorInflater.loadAnimator(getActivity(), nextAnim);
if (animator != null && enter) {
animator.addListener(new TransitionAnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
if (previousFragment != null) {
previousFragment.willDisappear();
}
willAppear();
}
@Override
public void onAnimationEnd(Animator animation) {
transitionDone.set(true);
if (previousFragment != null) {
previousFragment.didDisappear();
}
didAppear();
}
});
}
} else if (hideTransitionAnimationIds.contains(nextAnim)) {
animator = AnimatorInflater.loadAnimator(getActivity(), nextAnim);
if (animator != null && !enter) {
animator.addListener(new TransitionAnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
if (previousFragment != null) {
previousFragment.willAppear();
}
willDisappear();
}
@Override
public void onAnimationEnd(Animator animation) {
if (previousFragment != null) {
previousFragment.didAppear();
}
didDisappear();
}
});
}
}
I use this method for the model loading:
protected void waitForTransition() {
if (transitionDone != null) {
try {
transitionDone.get();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Which usually helps me "wait" on the animation to end before I load my models. I thought this was the issue.
My goal is really to smoothen out the animation. I'm aware of the trick to "provide an image" ( to paraphrase) shown in this question: Nested fragments disappear during transition animation but I was looking for something a little bit cleaner. I was thinking a possibility could be to create two fragments on the fly? I.e: have an empty layout with 2 frameLayout in which I could just inject two fragments at run-time. Although I haven't tried that, it doesn't seem very modular.
java


java


edited Jan 3 at 1:41
MLec
asked Jan 2 at 21:14
MLecMLec
28110
28110
I'm not clear on what your problem is. Is it the bad framerate when the second fragment transitions in? Is it the spinning loading indicator on the second fragment? Is it the fact that each item seems to appear one-by-one once the loading is complete? More detail on what exactly is going wrong (as well as what exactly you want instead) would definitely be appreciated.
– Ben P.
Jan 2 at 22:39
Ah, sorry I guess I thought I made it clear, the first link shows a choppy transition. The spinner is fine. All I really want is a smooth transition from fragment A to fragment B :)
– MLec
Jan 3 at 1:38
add a comment |
I'm not clear on what your problem is. Is it the bad framerate when the second fragment transitions in? Is it the spinning loading indicator on the second fragment? Is it the fact that each item seems to appear one-by-one once the loading is complete? More detail on what exactly is going wrong (as well as what exactly you want instead) would definitely be appreciated.
– Ben P.
Jan 2 at 22:39
Ah, sorry I guess I thought I made it clear, the first link shows a choppy transition. The spinner is fine. All I really want is a smooth transition from fragment A to fragment B :)
– MLec
Jan 3 at 1:38
I'm not clear on what your problem is. Is it the bad framerate when the second fragment transitions in? Is it the spinning loading indicator on the second fragment? Is it the fact that each item seems to appear one-by-one once the loading is complete? More detail on what exactly is going wrong (as well as what exactly you want instead) would definitely be appreciated.
– Ben P.
Jan 2 at 22:39
I'm not clear on what your problem is. Is it the bad framerate when the second fragment transitions in? Is it the spinning loading indicator on the second fragment? Is it the fact that each item seems to appear one-by-one once the loading is complete? More detail on what exactly is going wrong (as well as what exactly you want instead) would definitely be appreciated.
– Ben P.
Jan 2 at 22:39
Ah, sorry I guess I thought I made it clear, the first link shows a choppy transition. The spinner is fine. All I really want is a smooth transition from fragment A to fragment B :)
– MLec
Jan 3 at 1:38
Ah, sorry I guess I thought I made it clear, the first link shows a choppy transition. The spinner is fine. All I really want is a smooth transition from fragment A to fragment B :)
– MLec
Jan 3 at 1:38
add a comment |
0
active
oldest
votes
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54013283%2ftransition-with-nested-fragment-creates-a-noticeable-lag-instead-of-smooth-trans%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54013283%2ftransition-with-nested-fragment-creates-a-noticeable-lag-instead-of-smooth-trans%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I'm not clear on what your problem is. Is it the bad framerate when the second fragment transitions in? Is it the spinning loading indicator on the second fragment? Is it the fact that each item seems to appear one-by-one once the loading is complete? More detail on what exactly is going wrong (as well as what exactly you want instead) would definitely be appreciated.
– Ben P.
Jan 2 at 22:39
Ah, sorry I guess I thought I made it clear, the first link shows a choppy transition. The spinner is fine. All I really want is a smooth transition from fragment A to fragment B :)
– MLec
Jan 3 at 1:38