更改应用栏背景颜色

时间:2017-03-01 14:07:49

标签: android xamarin

我正在努力正确覆盖默认主题应用栏颜色。 当我使用android:actionBarStyle时,它会改变颜色但是标题文本丢失了。

<resources>
  <style name="ToolbarThemeStyle" parent="android:Theme.Material.Light">
    <item name="android:actionBarStyle">@style/ActionBarTitle.Background</item>
  </style>
  <style name="ActionBarTitle.Background" parent="">
    <item name="android:background">#8DC44E</item>
    <item name="android:titleTextStyle">@style/ActionBarTitle.Text</item>
  </style>
  <style name="ActionBarTitle.Text" parent="">
    <item name="android:textColor">#FFFFFF</item>
  </style>
</resources>

我已经尝试Replacing the Action Bar,但我想知道是否有更短更简单的方式。

清单:

<application android:label="Home Automation" android:icon="@mipmap/ic_launcher" android:theme="@android:style/Theme.Material.Light"    
  </application>

活动:

[Activity(Label = "Label", MainLauncher = false, Theme = "@style/ToolbarThemeStyle", NoHistory =true)]

3 个答案:

答案 0 :(得分:1)

感谢大家的回复。我以为我自己回答这个问题,而我花了好几个小时试图解决这个问题。

显而易见的解决方案是在this page下使用自定义主题,但我收到错误&#34;找不到与给定名称匹配的资源(android:color Primary)&#34; 。更改android:minSDKVersion=23也无效。

我前往应用程序属性并使用Android版本设置&#34;编译&#34;当前的目标框架(即API 23),而不是尚未安装的最大值,但尚未设置为API 25。

答案 1 :(得分:0)

确保您在menifest或xml中将主题设置为活动。在这里,我将分享您可以参考的主题代码。

 <style name="MaterialAppTheme" parent="Theme.AppCompat.Light">
        <!-- colorPrimary is used for the default action bar background -->
        <item name="colorPrimary">@color/white</item>
        <item name="android:textColorSecondary">@color/red</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

答案 2 :(得分:0)

此代码应位于style.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>
    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

并确保您应该在manifest.xml中声明它

<application
        android:name=".app.AppController"
        android:allowBackup="true"
        android:icon="@drawable/images"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">