相关疑难解决方法(0)

如何设置新工具栏的标题颜色?

我正在使用新的v7工具栏,但在我的生活中无法弄清楚如何更改标题的颜色.我已将工具栏的@style设置为styles.xml中声明的样式,并将textTextStyle应用于textColor.我错过了什么吗?我正在为Lollipop编码,但目前在Kitkat设备上进行测试.

styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="@style/Theme.AppCompat.Light">
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
    </style>

    <style name="ActionBar" parent="Theme.AppCompat">
        <item name="android:background">@color/actionbar_background</item>
        <item name="android:titleTextStyle">@style/ActionBar.TitleTextStyle</item>
    </style>

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

</resources>
Run Code Online (Sandbox Code Playgroud)

actionbar.xml:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar_actionbar"
    android:layout_width="match_parent"
    android:layout_height="?actionBarSize"
    style="@style/ActionBar"/>
Run Code Online (Sandbox Code Playgroud)

android themes toolbar

106
推荐指数
6
解决办法
14万
查看次数

如何更改工具栏主页图标颜色

我正在使用android.support.v7.widget.Toolbar并从这篇文章中了解如何将汉堡包图标的颜色更改为白色,但当我调用时,向上/向后箭头仍然是深色

setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

我怎样才能使箭头变白?

当我调用setDisplayHomeAsUpEnabled()时,这是我的工具栏的样子:

在此输入图像描述

...这是我的styles.xml文件的相关部分:

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">#194C5F</item>
    <item name="colorAccent">@color/accent</item>
    <item name="drawerArrowStyle">@style/WhiteDrawerIconStyle</item>
</style>

    <style name="WhiteDrawerIconStyle" parent="Widget.AppCompat.DrawerArrowToggle">
        <item name="spinBars">true</item>
        <item name="color">@android:color/white</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

icons android toolbar android-support-library

99
推荐指数
11
解决办法
12万
查看次数

如何在不设置工具栏样式的情况下动态更改所有工具栏图标的颜色

我一直在寻找一种方法来动态更改工具栏(如ActionBar)中所有元素的颜色。

规格:

  • parent="Theme.AppCompat.Light.NoActionBar"在styles.xml上使用
  • Appcompat v7 22
  • 设置setSupportActionBar()在我的AppCompatActivity
  • 我从POST请求中获得了颜色(通常是#FF ------格式)

我已阅读以下帖子:

  1. 如何更改ActionBar汉堡包图标的颜色?
  2. 如何在材料设计导航抽屉中更改汉堡图标的颜色
  3. 无法在Android中更改导航抽屉图标的颜色
  4. ActionBarDrawerToggle v7箭头颜色
  5. Android工具栏颜色更改
  6. Android burger / arrow图标动态更改颜色(此方法某种程度上可行,但我不喜欢使用自己的图像动画)。
    以及与此主题相关的其他链接...没有一个对我有用。

我现在正在做的是在工具栏上搜索ImageButton(在support actionbar中获取对抽屉切换的引用),然后setColorFilter()像下面的代码一样将它们应用于所有对象:

for (int i = 0; i < toolbar.getChildCount(); i++){
    if (toolbar.getChildAt(i) instanceof ImageButton) {
        ImageButton ib = (ImageButton) toolbar.getChildAt(i);
        ib.setColorFilter(Color.parseColor("#A74231"), PorterDuff.Mode.SRC_ATOP);
    }
}
Run Code Online (Sandbox Code Playgroud)

我改变的背景和文本颜色搭配:toolbar.setBackgroundColortoolbar.setTitleTextColor

对于菜单图标(包括溢出菜单图标):

MenuItem item2 = mMenu.findItem(R.id.actionbar_group_moreoverflow);
item2.getIcon().setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
Run Code Online (Sandbox Code Playgroud)


问题:有没有更好的办法做到这一点(改变工具栏的元素色彩动态)?

android android-appcompat android-imagebutton android-toolbar

4
推荐指数
1
解决办法
3825
查看次数