What is the difference between colorPrimary and colorPrimaryDark in themes
Solution 1
- 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/
Solution 2
- 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
Solution 3
android:background="?attr/colorPrimary"
You can use this to use the default colorPrimary value
Comments
-
jace over 2 years
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.