Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Layout White Flashes #52

Open
Kanval87 opened this Issue Jan 30, 2013 · 51 comments

Comments

Projects
None yet

When layouts are heavy ( have a multiple child's and child's of child), flip view tend to give white flashes while flipping.

Owner

openaphid commented Jan 31, 2013

I was lazy and used a naive mechanism to start animation in showFlipAnimation() of FlipViewController.
https://github.com/openaphid/android-flip/blob/master/FlipView/FlipLibrary/src/com/aphidmobile/flip/FlipViewController.java#L497

Flickers happen when 100ms is not enough for the controller to build animations.

I will try to solve it as it seems like a simple fix.

Thank you for your instant consideration of issue.

i must say animation looks beautiful and works effiently .

@openaphid openaphid added a commit that referenced this issue Jan 31, 2013

@openaphid openaphid Try to reduce flickers. #52 5c97861
Owner

openaphid commented Jan 31, 2013

I've pushed a change in develop branch. I won't claim it can eliminate flicker entirely, but please let me know if it helps reduce flashing in your app.

@openaphid openaphid closed this Feb 3, 2013

quintos commented Feb 5, 2013

This is what i'm seeing:

when the page is refreshed (the screenshot) after i flipped to it (after my lazy content is loaded), it will flicker when i flip it over to the next page. When the page has already done it's refresh at the moment i flipped over to it, it will not flicker when i flip to the next.

Kanval87 commented Feb 7, 2013

Sorry it took mi long to reply

and no problem has'nt been solved yet.. it is still flashing

Please suggest some ideas to reduce flashing?

Owner

openaphid commented Apr 28, 2013

Reopened, will push a fix in develop branch soon

@openaphid openaphid reopened this Apr 28, 2013

@openaphid openaphid pushed a commit that referenced this issue Apr 28, 2013

Aphid Mobile Eliminate flash issue
Issue #52
2dca94e
Owner

openaphid commented Apr 28, 2013

The push 2dca94e should have fix the flash issue, but it also introduces a minor issue when flip backward on the first page. I'll publish a fix later today.

@openaphid openaphid pushed a commit that referenced this issue Apr 28, 2013

Aphid Mobile Fix a display issue when flipping backward on the first page
Issue #52
8f230f7

Hello, thank you for your fix, but I found [FlipView Demo] -> [3.Async Content] is always some white splash screen.when flipping next page no problem, but often occur flipping to pre page by gently touch.

Owner

openaphid commented May 1, 2013

Thanks for your report, it seems my previous fix is not perfect yet.

@openaphid openaphid pushed a commit that referenced this issue May 1, 2013

Aphid Mobile Fight with the flash issue when flipping backward
Issue #52
f6dabbf
Owner

openaphid commented May 1, 2013

I've finished another fix in the develop branch to address the issue. Please try it on your device.
Thanks in advance.

redwind commented May 3, 2013

Thanks !
Flip animation more smooth now.

@openaphid openaphid closed this May 5, 2013

miteshm commented Dec 4, 2013

I am getting White Flash on Layout while flipping next. Flip back is working fine but next has issue.

JackCho commented Dec 10, 2013

I am also getting the same White Flash when flipping next.But flipping to last page is fine,I am curious about this issue.Hope to fix it.

I also facing this problem now. I user gridview and setAdapter for gridview in getView method
Please fix it.
Thanks in advances!

Hhihi I was fixed my problem. The reason of problem that I don't set background for main layout.
When I set background by tag android:background="@android:color/white" > it's OK.
So I think that, this problem still encounter if background is transparent
Thank you for sharing a great lib.
Thanks in Advances!

I have the same issue... Flipping next is flashing, but flipping back is working just fine. @miteshm and @JackCho did you guys find a fix for that? @openaphid do you plan to reopen this bug, by any chance? Cheers!

I have the same issue...In FragementActivity, Flipping next is flashing, but flipping back is working just fine . Although everything works fine in Activity but in Fragment Activity Its flashing in forwarding.

@kevinmeresse Did you get any fix for the same ?

I got the RCA for the same, flickering still happening until android:targetSdkVersion is greater than 10.
So, For ICS and on words It flickers in next flipping.

Thanks,I also have the same problem. white flashes while flipping,In my App,the imageview is too heavy.

You can reduce the white flash by reduce rendering bitmap

setAnimationBitmapFormat(Bitmap.Config);

This doesn't kill all the flashes but hope it helps! :)

Still having a problem with a blinking at random times ... Has anyone found a clear solution to this?

Please what about the flickering when getting to next page
I hope U solve this issue :(

Thanks in advance

Unfortunatelly i have not solve this issue ... i am trying to get deep into code but is dificult ... Do you have the same problem?

unfortunatelly yes :(

I have same problem now.
I am using Galaxy S3 for testing this but when i flip next, flash screen still happen
I was use lastest version and change setAnimationBitmapFormat(Bitmap.Config.RGB_565) but it's not working
Any body solved problem?
Thanks in advances!

Hi guys,
I couldn't get any fix for the white flashes. But I am now using another library from @emilsjolander which is working very well: https://github.com/emilsjolander/android-FlipView
It doesn't support webviews or fragments yet, but it's clean and easy to use. I hope it can help some of you who can't get this one work properly.
Cheers!

I will still wait @openaphid to fix for the white flashes.I believe there not be long time. if there be long time,I will try @emilsjolander. @kevinmeresse ,thank you!

Hi all, I fixed this issue by putting an ImageView with white background at the bottom of my page view layout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:background="#ffffff"/>
    <LinearLayout
        android:id="@+id/content_container"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:orientation="vertical">

        <!-- Your page content goes here -->

    </LinearLayout>

</RelativeLayout>

Hope this can help ppl looking for solutions around this

I have a try,it still flash screen,but the probality is lower

2laa commented Apr 13, 2014

Hi All, Has anyone found a solution?

link17 commented Apr 25, 2014

FlipViewController.java
void postHideFlipAnimation() {
if (inFlipAnimation) {
// handler.post(new Runnable() {
// @override
// public void run() {
// hideFlipAnimation();
// }
// });
}
}

try

@link17: yeah, comment this lines, flash will stop but not update the view.
Could you give full solution for this
thanks in advance!

soualid commented Jul 19, 2014

Having the same issue. The worst is that everything was OK when I was evaluating this library during my POC, and I forked it to add features to it (spine position, orientation change handling).

Does anybody found a solution to fix this ?

soualid commented Jul 19, 2014

Probably not the cleanest solution, but found that the flicker does not appear if you delay the call to hideFlipAnimation in the postHideFlipAnimation() method of FlipViewController.java.

    void postHideFlipAnimation() {
        if (inFlipAnimation) {
            new Thread() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(200);
                    } catch (InterruptedException e) {
                    }
                    ((Activity)FlipViewController.this.getContext()).runOnUiThread(new Runnable() {
                        public void run() {
                            handler.post(new Runnable() {
                                public void run() {
                                    hideFlipAnimation();
                                }
                            });
                        }
                    });
                }
            }.start();
        }
    }

hmmm, I tried the solution above, but the flickering still happens

I had a similar problem. The content of the flipview had margins around them. While flipping, the margins started showing up in white. Once the animations are complete, it goes back to normal. The white margin shows up only during the flipping.

How I solved this:
I wapped the contents int another layout and applied padding to it the same amount of margin the contents used to have. This fixed the problem.

@openaphid openaphid reopened this Aug 28, 2014

I changed the postHideFlipAnimation like below in FlipViewController.

void postHideFlipAnimation() {
    if (inFlipAnimation) {
      handler.postDelayed(new Runnable() {
        @Override
        public void run() {
          hideFlipAnimation();
        }
      },200);
    }
  }

Flicker issue has been fixed.Delay the postHideFlipAnimation for 2 seconds and add a transparent background in parent layout.

sahib20 commented Dec 24, 2014

in flipviewcontroller where to call webservice when i flip the page and data is loaded dynamically when flip page.

Hi , faceing the same issue also when i try to flip the layout image gets refreshed and later flipping . when i return to image positon layer , image is not getting refreshed again , so only when i flip for next view only image gets refreshing .
so can anyone tell me how to fix it ....

@ghost

ghost commented Apr 10, 2015

Hey. How can I change your code according to read images from URL or drawable ?

I used @magirtopcu method,the flicker disappear,but i feel like switch is slow,and I implement FlipViewController.ViewFlipListener(),the method onViewFlipped is delayed. I don't think it is a perfect
solution.

Hi @runforprogram , Can you share your implementation ?

@ghost

ghost commented Jun 27, 2015

Anybody found a solution yet?

Who has a good solution for this issue?
Help anyone?

srpunni commented Jul 10, 2015

Comment a line as below in FlipViewController...it will work like a charm....also keep main layout background white...also imageview background white color:
private void hideFlipAnimation() {
if (inFlipAnimation) {
inFlipAnimation = false;

  updateVisibleView(bufferIndex);

  if (onViewFlipListener != null) {
    onViewFlipListener.onViewFlipped(bufferedViews.get(bufferIndex), adapterIndex);
  }

  handler.post(new Runnable() {
    public void run() {
      if (!inFlipAnimation) {
        //COMMENT BELOW LINE
       // cards.setVisible(false);
        surfaceView.requestRender(); //ask OpenGL to clear its display
      }
    }
  });
}

}

.it's work like a charm but image is not updating properly

@CRUDTechnolgoy Me too, I tried to hide that line but that causes my search filter on the FlipView to not work. Delaying by 200ms and setting the container layout backgrounds to white seems to be the best fix for now.

praveenrawat89 commented Mar 27, 2017 edited

hi , Firstly , Very Nice library . Can anyone tell me , how to implement zoom in , zoom out and pinch functionality . I used with custom zoomview but it will intrupt the sliding .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment