Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between colorPrimary and colorPrimaryDark in themes

I'm trying to understand how the theme works in android. I don't know why colorPrimaryDark won't work with me or maybe i'm doing it wrong.

I tried this set and my action bar turns red because of colorPrimary:

<style name="MenuTheme" parent="Theme.AppCompat.Light.DarkActionBar">   <item name="colorPrimary">#FF0000</item>   <item name="colorPrimaryDark">#0000FF</item>   <item name="colorAccent">#00FF00</item>       <item name="actionMenuTextColor">#0000FF</item> </style> 

I tried to remove the colorPrimary and it turns black (which I thought it will use blue because of colorPrimaryDark:

<style name="MenuTheme" parent="Theme.AppCompat.Light.DarkActionBar">   <item name="colorPrimaryDark">#0000FF</item>   <item name="colorAccent">#00FF00</item>       <item name="actionMenuTextColor">#0000FF</item> </style> 

I tried to remove the colorPrimaryDark and left the colorPrimary and it turns red again:

<style name="MenuTheme" parent="Theme.AppCompat.Light.DarkActionBar">   <item name="colorPrimary">#FF0000</item>   <item name="actionMenuTextColor">#0000FF</item> </style> 

I don't know if i'm using it in wrong way or it's not really changing at all. Can anyone tell me the difference among them?

I also tried actionMenuTextColor to change the text color in actionBar but nothing happened. I found out the solution using parent="Theme.AppCompat.Light.DarkActionBar" instead of parent="Theme.AppCompat.Light" alone. But of course it will only turn into white. I'm still trying to make it in different color if there is any way.

like image 636
jace Avatar asked Aug 25 '17 10:08

jace


People also ask

What is colorPrimary and colorPrimaryVariant?

colorPrimary and colorSecondary represent the colors of your brand. colorPrimaryVariant and colorSecondaryVariant are lighter or darker shades of your brand colors. colorSurface is used for “sheets” of material (like cards and bottom sheets) android:colorBackground is the window background color of your app.

What is color primary and secondary in android?

A color that passes accessibility guidelines for text/iconography when drawn on top of the primary color. The secondary branding color for the app, usually an accented complement to the primary branding color.

What is colorAccent?

It is a color used to draw attention.


2 Answers

  • colorPrimary – The color of the app bar.
  • colorPrimaryDark – The color of the status bar and contextual app bars; this is normally a dark version of colorPrimary.
  • colorAccent – The color of UI controls such as check boxes, radio buttons, and edit text boxes.
  • windowBackground – The color of the screen background.
  • textColorPrimary – The color of UI text in the app bar.
  • statusBarColor – The color of the status bar.
  • navigationBarColor – The color of the navigation bar.

you can use following link to setup your style.

https://blog.xamarin.com/material-design-for-your-xamarin-forms-android-apps/

like image 84
Sunny Avatar answered Sep 24 '22 00:09

Sunny


  • colorPrimary - The color displayed most frequently across your app’s screens and components. This color should pass accessibilty guidelines for text / iconography when drawn on top of the surface or background color. (Default Value: #6200EE)
  • colorPrimaryVariant - A tonal variation of the primary color. (Default Value: #3700B3)
  • colorOnPrimary - A color that passes accessibility guidelines for text/iconography when drawn on top of the primary color. (Default Value: #FFFFFF)
  • colorSecondary - The secondary branding color for the app, usually an accented complement to the primary branding color. (Default Value: #03DAC6)
  • colorSecondaryVariant - A tonal variation of the secondary color. (Default Value: #018786)
  • colorOnSecondary - A color that passes accessibility guidelines for text/iconography when drawn on top of the secondary color. (Default Value: #000000)

https://material.io/develop/android/theming/color

like image 34
Randy Reiza Avatar answered Sep 23 '22 00:09

Randy Reiza