在android工作室的造型行动酒吧

时间:2016-01-19 13:44:36

标签: android android-studio

我正在尝试设置一个有两个菜单图标的操作栏。我使用AppCompat主题,我在应用程序中有4个片段。我不想为此使用工具栏。

这是我到目前为止所拥有的。这样可以设置条形颜色和文本颜色,但溢出菜单(3个点)和向上箭头图标不会改变颜色,只会改变文本和背景。

<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="android:colorPrimary">@color/primary</item>        
    <item name="android:colorPrimaryDark">@color/primary_dark</item>        
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="background">@color/primary</item>
    <item name="titleTextStyle">@style/MyActionBarTitle</item>
</style>

<style name="MyActionBarTitle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/white</item>
</style>

<style name="Your.Theme.OverflowStyle" parent="@style/Widget.AppCompat.ActionButton.Overflow">
    <item name="android:color">@color/white</item>
</style>

2 个答案:

答案 0 :(得分:0)

我认为你应该在Your.Theme.OverflowStyle的任何地方引用风格<style name="AppTheme" parent="Theme.AppCompat.Light"></style>

有类似下面的内容应该有效。

<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="android:colorPrimary">@color/primary</item>
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
    <item name="android:actionOverflowButtonStyle">@style/Your.Theme.OverflowStyle</item>
</style>

偏离主题的建议:代码中没有这么多空行。它更难阅读,因为检测逻辑代码组更难。

答案 1 :(得分:0)

继承了对我有用的解决方案。我不得不下载导航图标和垂直菜单图标。希望这是有道理的,毫无疑问语法纳粹将会出局。

<resources>
    <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="actionBarStyle">@style/MyActionBar</item>
        <item name="android:actionOverflowButtonStyle">@style/OverflowButton</item>
        <item name="actionOverflowButtonStyle">@style/OverflowButton</item>
        <item name="android:statusBarColor">@color/primary_dark</item>
    </style>
    <style name="OverflowButton" parent="@style/Widget.AppCompat.Light.ActionButton.Overflow">
        <item name="android:src">@drawable/ic_more_vert_white_18dp</item>
    </style>
    <style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
        <item name="background">@color/primary</item>
        <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
        <item name="titleTextStyle">@style/MyActionBarTitleText</item>
    </style>
    <style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/button_text </item>
    </style>


</resources>