我正在努力正确覆盖默认主题应用栏颜色。 当我使用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)]
答案 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">