0

我无法从以前的任何问题/答案中获得帮助,现在已经尝试了很多。所以问题是我似乎无法正确更改导航选项卡(选项卡式视图)的颜色。我正在使用带有支持 repos 的 API 21。

如果我使用

ColorDrawable cd = new ColorDrawable(getResources().getColor(R.color.appbar));
actionBar.setBackgroundDrawable(cd);

它只为 appbar-part 着色,它是整个顶部菜单栏的顶部。

如果我使用

actionBar.setStackedBackgroundDrawable(cd);

它确实为标签部分着色,但同时它将顶部背景更改为浅灰色,无论我是否也调用

actionBar.setBackgroundDrawable(cd);

或不。所以下面是一张解释这两种情况的图片,底部是一张我想要的图片。谢谢!

图片链接:https ://onedrive.live.com/redir?resid=E71EFAAF41D1B253!9581&authkey=!AIj2vWVJIKIfVUo&v=3&ithint=photo%2cpng

4

1 回答 1

0

在“res”中创建一个新文件夹,values-v21其中包含一个 styles.xml 文件。

<resources>
  <!-- inherit from the material theme -->
  <style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">
    <!-- Main theme colors -->
    <!--   your app branding color for the app bar -->
    <item name="android:colorPrimary">@color/primary</item>
    <!--   darker variant for the status bar and contextual app bars -->
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
    <!--   theme UI controls like checkboxes and text fields -->
    <item name="android:colorAccent">@color/accent</item>
    
    <item name="android:alertDialogTheme">@style/Theme.AlertDialog</item>
    
    <item name="android:navigationBarColor">@color/primary</item>
  </style>
  
  <style name="Theme.AlertDialog" parent="Theme.AppCompat.Light.Dialog">

    <!--app abar color in Activties Task manager -->
    <item name="colorPrimary">@color/primary</item>

    <!--copy/paste colors -->
    <item name="colorAccent">@color/primary</item>

    <!--status bar color -->
    <item name="colorPrimaryDark">@color/primary</item>


</style>
  
  
</resources>

PrimaryDark 用于 TitleBar,Primary 用于 Actionbar

于 2015-09-18T12:30:53.390 回答