Skip to content
New issue

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

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dark theme #41

Closed
29 of 34 tasks
daniele-athome opened this issue Mar 9, 2014 · 14 comments
Closed
29 of 34 tasks

Dark theme #41

daniele-athome opened this issue Mar 9, 2014 · 14 comments
Assignees
Labels
enhancement New feature or request imported
Milestone

Comments

@daniele-athome
Copy link
Member

daniele-athome commented Mar 9, 2014

Dark theme for Android client. Use theme attributes whenever possible.

  • based on Theme.AppCompat.DayNight.NoActionBar
  • system navigation bar background (OEM issue, tested on Samsung A40)
  • options menu
  • floating action menu semi-transparent background (too white)
  • message status icon indicators (delivery and security status; beweare that they are used inside the balloons and but also in other normal dark views)
  • group chat indicator
  • message list item view (text color should be linked to the chat balloon theme; same thing for the date view)
  • quote content view (both text color and blockquote vertical line should probably be handled by the theme?)
  • composer bar push-to-talk background
  • composer bar icons (attachment icon is lighter than the others, why?)
  • reply bar in composer
  • composer attachment selection view (using a fixed background color)
  • preference icons
  • My personal key activity
  • About activity
  • audio content view progress bar (when used in light ballons; will need progress and thumb drawables will use tint only for API level 21+, sorry older Android people I'm too lazy)
  • audio content view vertical position (what the hell?? Different behavior in API < 21)
  • Position/send position fragments
  • static map pin color
  • other colors? (use attributes!! test registration!!)
  • default chat background (probably just negating the colors should be fine); also applies to contact/group info fragment
  • theme switch utility (and preference)
  • some misuse of colors in location sharing layouts
  • showcase colors (text and background)
  • investigate use of accent color (it probably should be lighter; note that it's also used as color of positive button in dialogs)
  • showcase!

Also the existing chat balloons are too light to be used in a dark theme (it kind of defeats the purpose). We need other 9-patches to either create new themes or create a dark version of the existing ones (the latter would be better because the theme will change automatically with night mode). Probably not all themes would be day/night, I'll do my best.

  • Hangout
    • incoming balloon too bright?
  • Silence
  • Classic
  • Classic (old)
  • iPhone

Minor refinements:

  • negated chat background tile is maybe too dark
  • link text in messages when using dark balloons (blue on blue of the Hangout theme for incoming messages)

Some sources:

https://stackoverflow.com/a/40841611/1045199 (theme overriding AppCompat style)

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@daniele-athome daniele-athome self-assigned this Mar 9, 2014
@daniele-athome
Copy link
Member Author

From daniele.athome@gmail.com on May 12, 2013 03:47:55

Slipping to 2.2.8.

Labels: -Milestone-2.2.7 Milestone-2.2.8

@daniele-athome
Copy link
Member Author

From daniele.athome@gmail.com on August 03, 2013 09:41:38

Blocked by theme/styles refactoring when we will switch to appcompat ActionBar.

Labels: -Milestone-2.2.8 Milestone-2.2.9
Blockedon: kontalk:118

@daniele-athome
Copy link
Member Author

From daniele.athome@gmail.com on January 11, 2014 04:58:20

Labels: -Milestone-2.2.9 -Component-Legacy-Android

@daniele-athome daniele-athome removed their assignment Mar 2, 2015
@daniele-athome daniele-athome modified the milestones: 3.0, 4.0 Apr 26, 2015
@daniele-athome
Copy link
Member Author

Possible reference theme: https://github.com/henrytao-me/android-md-core

@relan
Copy link
Contributor

relan commented Sep 16, 2016

Theme.AppCompat.DayNight can be used for this.

@daniele-athome
Copy link
Member Author

If I'm getting this right:

One thing to note is that this feature only actually has an effect when running on an API v14 and later device, on devices before that it will default to the light theme.

that doesn't help :-( any thoughts?

@webratte
Copy link
Contributor

webratte commented Sep 16, 2016 via email

@daniele-athome
Copy link
Member Author

Yes I understand @webratte, but I'd like to examine all possibilities before I completely cut off Android < 14 from this, that's all :-)
Besides, I'm already doing some tests with the AppCompat dark theme, and it's pretty nice. Although some stuff must be addressed:

  • message status icons
  • balloon themes (I think some of them should be re-colored)
  • some other minor coloring

@relan
Copy link
Contributor

relan commented Sep 17, 2016

According to the Google Play stats, 98.4% of devices are API 14+. I think it's OK to leave Gingerbred users without some UI improvements.

Theme.AppCompat.DayNight has the following advantages IMO:

  • Built into the support library. No extra dependencies.
  • Provides a very convenient resource qualifier -night: dark resources are clearly separated from the default ones.
  • If one day Google adds a system-wide night mode switch, we'll have to do nothing to support it.

some stuff must be addressed

Recent versions of the support library work very well with vector graphics. I'm going to replace PNGs with vector images where possible. This will simplify maintainence of graphic resources.

@daniele-athome
Copy link
Member Author

Recent versions of the support library work very well with vector graphics. I'm going to replace PNGs with vector images where possible. This will simplify maintainence of graphic resources.

I remember that it supported vectors only on Lollipop and newer once. Have they improved the support library for older versions too?

@relan
Copy link
Contributor

relan commented Sep 17, 2016

I remember that it supported vectors only on Lollipop and newer once. Have they improved the support library for older versions too?

Yes.

@daniele-athome
Copy link
Member Author

daniele-athome commented Sep 17, 2016

Actually it seems the dark theme is indeed supported, at least on API level 10. I believe what you were talking about to not be supported was the -night modifier, weren't you? If that's the case, it could be easily handled through styles.

device-2016-09-17-111209

With a few... ehm... imperfections (e.g. that list item is NOT selected :-) but I'm sure we can work out on them. I'll see if it's worth the effort.

@relan
Copy link
Contributor

relan commented Sep 18, 2016

Actually it seems the dark theme is indeed supported, at least on API level 10. I believe what you were talking about to not be supported was the -night modifier, weren't you?

Not me, but Chris Banes. :) Theme.AppCompat.Dark is indeed available on all API levels. The night resource qualifier and UiModeManager are available since API 8. Support library devs probably just didn't care about anything before API 14.

You can see how themes are implemented in F-Droid client through styles (I took part in this) and, honestly, they're far from being elegant or maintainable.

@daniele-athome daniele-athome removed this from the Future milestone Nov 1, 2017
@daniele-athome daniele-athome self-assigned this Apr 18, 2020
daniele-athome added a commit that referenced this issue Apr 18, 2020
This is just switching a theme: there are a lot of assets that still need their *dark side*...

Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 18, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 18, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 18, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 18, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 18, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 18, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 19, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 19, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 19, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 19, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 19, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 19, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 19, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 19, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 19, 2020
[skip ci]

Signed-off-by: Daniele Ricci <daniele@casaricci.it>
@daniele-athome
Copy link
Member Author

Dark mode will be shipped in next beta.
Only the Hangout theme fully supports light/dark. The other themes weren't ported for now.

daniele-athome added a commit that referenced this issue Apr 20, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 20, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 20, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 20, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 20, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 20, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 20, 2020
[skip ci]

Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 21, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 21, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 21, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 21, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 21, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
daniele-athome added a commit that referenced this issue Apr 21, 2020
Signed-off-by: Daniele Ricci <daniele@casaricci.it>
@daniele-athome daniele-athome modified the milestones: 4.4.0, Next Jul 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request imported
Projects
None yet
Development

No branches or pull requests

3 participants