主题中colorPrimary和colorPrimaryDark有什么区别

时间:2017-08-25 10:35:59

标签: android xml xamarin

我正在尝试了解主题如何在android中运行。我不知道为什么colorPrimaryDark不能和我合作,或者我做错了。

我尝试了这个设置,我的操作栏由于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>

我试图删除colorPrimary并且它变成黑色(我认为它会因为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>

我试图删除colorPrimaryDark并离开colorPrimary并再次变为红色:

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

我不知道我是以错误的方式使用它还是根本没有改变。谁能告诉我他们之间的区别呢?

我还尝试了actionMenuTextColor来改变actionBar中的文本颜色,但什么也没发生。我发现解决方案使用 parent =“Theme.AppCompat.Light.DarkActionBar”而不是 parent =“Theme.AppCompat.Light”。但当然它只会变成白色。如果有任何办法,我仍然试图用不同的颜色制作它。

2 个答案:

答案 0 :(得分:35)

  • colorPrimary - 应用栏的颜色。
  • colorPrimaryDark - 状态栏和上下文应用的颜色 酒吧;这通常是colorPrimary的黑暗版本。
  • colorAccent - UI控件的颜色,例如复选框,收音机 按钮,并编辑文本框。
  • windowBackground - 屏幕背景的颜色。
  • textColorPrimary - 应用栏中UI文本的颜色。
  • statusBarColor - 状态栏的颜色。
  • navigationBarColor - 导航栏的颜色。

您可以使用以下链接设置您的风格。

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

答案 1 :(得分:2)

  • colorPrimary - 在应用的屏幕和组件中显示频率最高的颜色。当在表面或背景颜色上绘制时,此颜色应通过文本/图标的可访问性指南。 (默认值:#6200EE)
  • colorPrimaryVariant - 原色的色调变化。 (默认值:#3700B3)
  • colorOnPrimary - 一种颜色,当绘制在原色之上时,它通过了文本/图标的可访问性指南。 (默认值:#FFFFFF)
  • colorSecondary - 应用的辅助品牌颜色,通常是对主要品牌颜色的强调补充。 (默认值:#03DAC6)
  • colorSecondaryVariant - 辅助颜色的色调变化。 (默认值:#018786)
  • colorOnSecondary - 一种颜色,当绘制在辅助颜色之上时,它通过了文本/图标的可访问性指南。 (默认值:#000000)

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