buggins / coolreader

Official site of CoolReader project. Sourceforge repository is obsolete.
GNU General Public License v2.0
374 stars 100 forks source link

Android: change the navigation bar colour (esp. for night mode) #319

Open C6H7NO2 opened 2 years ago

C6H7NO2 commented 2 years ago

CoolReader seems to enforce the white (or perhaps the default) colour for the navigation bar (the one with the Back and Home buttons at the bottom). This applies to the phones with 'soft' nav bar, which is nearly all the modern ones.

This is really bad, particularly in the night mode: bright white nav bar makes night mode unusable.

One solution is to use full screen mode. But it's not always good: I like to have permanent single-click access to the navigation buttons. (Nav bar can usually be 'pulled' by a gesture, but it's too slow).

Another solution is to use Dark mode in Android options. But this affects everything, not always for the good.

There are third-party apps to overlay a custom nav bar (e.g. "Navbar Apps"), but CoolReader somehow defeats it.

So. Ideally, CoolReader should change the nav bar colour according to the page background colour - at least when solid colour is selected. (For textured background, there could be several ways: a dedicated option, averaging the image colour, or something. I don't personally care). And, importantly, it should switch it accordingly when switching between day and night modes.

Apparently, this is relatively simple.

If doing this is not possible for some reason, I'd beg to change the static colour to always black. This is certainly better than always white: black is just a blank screen, a placeholder for buttons (the way it was on older phones with permanent buttons). As I said, without it the night mode is pretty much useless (unless some inconvenient tricks are applied).