imablanco / Zoomy

Zoomy is an easy to use pinch-to-zoom Android library
918 stars 120 forks source link

White background on status bar and nav buttons #8

Closed AdamMc331 closed 6 years ago

AdamMc331 commented 6 years ago

When I zoom in on a photo (Nexus 5X, Android 6.0), I notice the background where the nav buttons and the status bar are turn white. Fitting with the rest of the background, it would be nice if they turned black instead.

Is there any way we can customize this feature?

screenshot_20180307-095551

AdamMc331 commented 6 years ago

Update: I cloned your sample app and this doesn't happen. Which leads me to think I can change something in my app. I'll keep digging, but if you know the answer please let me know. :)

AdamMc331 commented 6 years ago

Found the culprit. I have to set the color myself - https://github.com/imablanco/Zoomy/blob/master/app/src/main/res/values/styles.xml#L9

imablanco commented 6 years ago

Sorry for the delay. Indeed this happens because inmersive mode hides system bars revealing the Activity's theme window background.

AdamMc331 commented 6 years ago

Thanks for the answer! I also have a case where an image is not as wide as the original screen, and so when that is zoomed I see white bars on the side of it. Is it the same problem? Do you know what attribute I would need to set?

AdamMc331 commented 6 years ago

screenshot_20180307-102334

AdamMc331 commented 6 years ago

Update: Apparently I'm just rubber duck debugging my own issues. It is the same problem, as the image doesn't fit the whole imageview, so it uses some default theme. I found if I change the background color of my ImageView to black it looks fine, but I wonder if there's a better way than setting it on the ImageView?

AdamMc331 commented 6 years ago

I just want to say I love this library. I tried so many other ImageView libraries and none of them worked the way we needed them to. This one is flawless and met our requirements exactly. Thank you for putting this out there!

imablanco commented 6 years ago

The library just makes a Bitmap copy of the original View (not necessarily an ImageView) so the zoomed View should look exactly like the original. Has the original ImageView in the last comment white background or it only happens when you zoom the View? Also, Views does not have background by default, so if the ImageView's image does not fit its bounds, you will see its parent's background behind it.

AdamMc331 commented 6 years ago

That makes sense. It must be falling back to the activity's theme again just like the system bars did. I'll setup an activity theme specific to this activity that sets the background and windowBackground attributes.