【问题标题】:Changing menu background of toolbar with material design使用材料设计更改工具栏的菜单背景
【发布时间】:2015-07-01 07:35:04
【问题描述】:

您好,我想更改菜单背景的样式,但 popupTheme 没有改变

我的工具栏代码

<android.support.v7.widget.Toolbar  xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:background="@color/fondoNavigation"
     android:theme="@style/CustomToolbar"
     android:popupTheme="@style/ThemeOverlay.AppCompat.Dark">
</android.support.v7.widget.Toolbar>

我的风格

<style name="AppTheme" parent="AppTheme.Base">

</style>

<style name="AppTheme.Base" parent="Theme.AppCompat.NoActionBar">

    <item name="colorPrimary">@color/fondoNavigation</item>
    <item name="colorAccent">@color/letraNavigation</item>

</style>

<style name="CustomToolbar" parent="@style/ThemeOverlay.AppCompat.Light">
    <item name="android:textColorPrimary">@color/letraNavigation</item>
    <item name="android:textColorSecondary">@color/letraNavigation</item>
</style>

我的 v21 风格

<style name="AppTheme" parent="AppTheme.Base">
    <item name="android:colorPrimary">@color/fondoNavigation</item>
    <item name="android:colorAccent">@color/letraNavigation</item>
    <item name="android:textColorPrimary">@color/fondoNavigation</item>
</style>

【问题讨论】:

  • 有什么发现吗?有同样的问题

标签: android material-design android-toolbar


【解决方案1】:
<style name="Theme.Dbtools_style" parent="@style/Theme.AppCompat.Light">

        <!-- Title Text Color -->
        <item name="actionMenuTextColor">@color/DimGray</item>
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="android:dropDownListViewStyle">@style/PopupMenuListView</item>
    </style>

  <style name="PopupMenuListView" parent="@style/Widget.AppCompat.Light.ListView.DropDown">
        <item name="android:divider">@color/DarkGray</item>
        <item name="android:dividerHeight">0.5dp</item>
        <item name="android:background">@color/White</item>
    </style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
        <item name="android:background">@color/title_bar</item>
        <item name="background">@color/title_bar</item>
        <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
        <item name="android:subtitleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
        <item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
        <item name="subtitleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
    </style>

【讨论】:

  • 小心,这段代码在 api > 21 和 api 上使用时会有不同的行为
【解决方案2】:

用这个我改变了背景和其他东西

 <style name="CustomToolbar" parent="ThemeOverlay.AppCompat.Light">
    <item name="android:textColorPrimary">@color/letraNavigation</item>
    <item name="android:textColorSecondary">@color/letraNavigation</item>
    <item name="android:popupBackground">@color/fondoNavigation</item>
    <item name="android:background">@color/fondoNavigation</item>
</style>

【讨论】:

    【解决方案3】:

    不使用支持库的人的解决方案

    <Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="@dimen/toolbar_height"
    android:paddingTop="30dp"
    android:background="#e53935"
    android:elevation="4dp"
    android:theme="@style/ToolbarTheme"
    android:popupTheme="@style/ToolbarPopUpTheme"/>
    

    styles.xml

    <style name="ToolbarTheme" parent="android:Theme.Material" />
    <style name="ToolbarPopUpTheme" parent="android:Theme.Material.Light"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-23
      • 2016-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      相关资源
      最近更新 更多