HackMyChurch / aelf-dailyreadings

AELF daily readings is the easiest and most discrete daily reading application on the play store. https://play.google.com/store/apps/details?id=co.epitre.aelf_lectures
MIT License
46 stars 13 forks source link

[core] improve fullscreen toggle UX #18

Closed yadutaf closed 5 years ago

yadutaf commented 5 years ago

We we added the fullscreen mode by default, a major concern was to let an easy way out of fullscreen mode without cluttering the interface. For this reason, we added a 'catch all' tap event listener that toggled fullscreen mode on tap event.

This approaches has a number of drawbacks in a touch based interface, and the fullscreen mode was entered and exited far too frequently. This is even more visible with the PR on the current verse highlight where each tap triggers a fullscreen toggle.

This commit is an attempt to fix this while retaining an easily discoverable exit path.

It completely removes the 'catch all' event listener and insteads binds the the drawer open/close events. This makes sense since opening the drawer is part of the 'navigation' intent.

Of course, the usual Android way to display the navigation bar by sliding from the bottom of the screen remains active.

nathanael-h commented 5 years ago

Nice behavior ! Except on small devices it should be perfect. Here is a screenshot of the problem on small devices a friend sent me :

whatsapp image 2018-11-26 at 23 30 31 In this case it seems there no way to click to last complies button. Would it be possible to tell the drawer menu not to be behind the menu bar ?

yadutaf commented 5 years ago

Oh Oh ! Good catch ! I'll see how we can reserve some space at the bottom of the drawer.

On a semi-related note: I see the "share" button is black where it should be white instead. Could open an issue for this with the Android version ? I'll try to fix this.

nathanael-h commented 5 years ago

My friend has a Logicom L-ITE 502, with Android 5.1.

yadutaf commented 5 years ago

I pushed a fix for the scroll issue. The overflowed item is still displayed below the navigation bar (this is intentional), and a padding of the height of the navigation bar is injected dynamically below the last element, so that a scroll can reveal it and make it selectable.

Here is a preview with Android 5.1 in an emulator:

Before scroll After scroll
screenshot_1550527651 screenshot_1550527644
nathanael-h commented 5 years ago

Bravo ! I merge !