如何在工具栏上更改文本和箭头的颜色?

11

我正在使用新的材料设计准则构建应用程序。使用工具栏而不是操作栏。

我希望文本、溢出图标和箭头/汉堡包图标(在拉出导航时翻转的东西)变成白色,而不是黑色,但我的主题的其他部分需要是AppCompat.light主题。

如果有人能够解释一下我该如何改变这些内容,我将非常感激。

我还需要在xml和java代码中更改颜色。

另外,有没有人知道如何在工具栏中设置子文本?我看到过有可能,但找不到任何关于如何完成的资源。

<LinearLayout
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimaryDark"
        xmlns:android="http://schemas.android.com/apk/res/android"
        />
    <com.bacon.corey.audiotimeshift.SlidingUpPanelLayout xmlns:sothree="http://schemas.android.com/apk/res-auto"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/sliding_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="bottom"
        sothree:panelHeight="0dp"
        sothree:shadowHeight="10dp"
        sothree:paralaxOffset="100dp"
        sothree:fadeColor="@android:color/transparent"

        >

        <android.support.v4.widget.DrawerLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/drawer_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >
            <!-- The main content view -->




                <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                    xmlns:app="http://schemas.android.com/apk/res-auto"
                    android:padding="0dp"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    >
                    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
                        xmlns:app="http://schemas.android.com/apk/res-auto"
                        android:orientation="vertical"
                        android:padding="0dip"
                        android:gravity="center_horizontal"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_margin="0dp"
                        android:id="@+id/recordingListMainLayout"
                        android:foreground="@drawable/dim_shadow_shape_dark"

                        >

                        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                            xmlns:app="http://schemas.android.com/apk/res-auto"
                            android:orientation="vertical"
                            android:padding="0dp"
                            android:gravity="center_horizontal"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"

                            >

                            <FrameLayout
                                android:layout_width="match_parent"
                                android:layout_height="match_parent"
                                android:id="@+id/mainLayoutContainer"/>
                <!--
                            <android.support.v4.view.ViewPager
                                android:id="@+id/viewPager"
                                android:layout_width="match_parent"
                                android:layout_height="0px"
                                android:layout_weight="1"
                                android:padding="0dp"
                                android:layout_margin="0dp"
                                />
                -->


                        </LinearLayout>

                    </FrameLayout>
                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent">
                        <FrameLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:background="@drawable/textview_rounded_corner_background_fam"
                            android:layout_alignParentRight="true"
                            android:layout_alignParentBottom="true"
                            android:layout_marginBottom="33dp"
                            android:layout_marginRight="90dp"
                            android:id="@+id/fabMainText"

                            >
                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="Main Option - Quick Record"
                                android:textAlignment="center"
                                android:padding="6dp"
                                android:fontFamily="sans-serif-medium"

                                />
                        </FrameLayout>
                        <com.bacon.corey.audiotimeshift.FloatingActionsMenu
                            android:id="@+id/fabMenu"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="bottom|right"
                            android:gravity="right"
                            app:fab_addButtonColorNormal="@color/holo_red_light"
                            app:fab_addButtonColorPressed="@color/c16"
                            app:fab_addButtonPlusIconColor="@color/white"
                            app:fab_expandDirection="up"
                            android:layout_marginTop="10dp"
                            android:layout_marginRight="10dp"
                            android:layout_marginBottom="10dp"
                            android:layout_marginEnd="10dp"
                            android:layout_alignParentRight="true"
                            android:layout_alignParentBottom="true"

                            >
                            <LinearLayout
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:orientation="horizontal"
                                android:gravity="center_vertical"
                                >
                                <FrameLayout
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:background="@drawable/textview_rounded_corner_background_fam"
                                    android:layout_marginRight="14dp"
                                    >
                                    <TextView
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:text="Option Four"
                                        android:textAlignment="center"
                                        android:padding="6dp"
                                        android:fontFamily="sans-serif-medium"

                                        />
                                </FrameLayout>

                                <com.bacon.corey.audiotimeshift.FloatingActionButton
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    app:fab_colorNormal="@color/c15"
                                    app:fab_colorPressed="@color/c15"
                                    app:fab_size="mini"
                                    />
                            </LinearLayout>
                            <LinearLayout
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:orientation="horizontal"
                                android:gravity="center_vertical"
                                >
                                <FrameLayout
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:background="@drawable/textview_rounded_corner_background_fam"
                                    android:layout_marginRight="14dp"

                                    >
                                    <TextView
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:text="Option Three"
                                        android:textAlignment="center"
                                        android:padding="6dp"
                                        android:fontFamily="sans-serif-medium"
                                        />
                                </FrameLayout>

                                <com.bacon.corey.audiotimeshift.FloatingActionButton
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    app:fab_colorNormal="@color/c8"
                                    app:fab_colorPressed="@color/c8"
                                    app:fab_size="mini"
                                    />
                            </LinearLayout>
                            <LinearLayout
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:orientation="horizontal"
                                android:gravity="center_vertical"
                                >
                                <FrameLayout
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:background="@drawable/textview_rounded_corner_background_fam"
                                    android:layout_marginRight="14dp"

                                    >
                                    <TextView
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:text="Option Two"
                                        android:textAlignment="center"
                                        android:padding="6dp"
                                        android:fontFamily="sans-serif-medium"
                                        />
                                </FrameLayout>

                                <com.bacon.corey.audiotimeshift.FloatingActionButton
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    app:fab_colorNormal="@color/a1"
                                    app:fab_colorPressed="@color/a1"
                                    app:fab_size="mini"
                                    />
                            </LinearLayout>
                            <LinearLayout
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:orientation="horizontal"
                                android:gravity="center_vertical"
                                >
                                <FrameLayout
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:background="@drawable/textview_rounded_corner_background_fam"
                                    android:layout_marginRight="14dp"

                                    >
                                    <TextView
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:text="Option One"
                                        android:textAlignment="center"
                                        android:padding="6dp"
                                        android:fontFamily="sans-serif-medium"
                                        />
                                </FrameLayout>

                                <com.bacon.corey.audiotimeshift.FloatingActionButton
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    app:fab_colorNormal="@color/a2"
                                    app:fab_colorPressed="@color/a2"
                                    app:fab_size="mini"
                                    />
                            </LinearLayout>
                        </com.bacon.corey.audiotimeshift.FloatingActionsMenu>
                    </RelativeLayout>
                </RelativeLayout>
            <!-- The navigation drawer -->
            <ListView android:id="@+id/left_drawer"
                android:layout_width="240dp"
                android:layout_height="match_parent"
                android:layout_gravity="start"
                android:choiceMode="singleChoice"
                android:divider="@android:color/transparent"
                android:dividerHeight="0dp"
                android:background="#FFFFFF"/>
        </android.support.v4.widget.DrawerLayout>

        <!-- Sliding Panel Layout -->
            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center|top"
                android:textSize="16sp"
                android:id="@+id/slideUpPanel"
                >

            </FrameLayout>

    </com.bacon.corey.audiotimeshift.SlidingUpPanelLayout>
</LinearLayout>

非常感谢您所提供的任何帮助。

Corey B :)


<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>接下来在你的DrawerArrowStyle中设置<item name="color">@android:color/white</item> - Pedro Oliveira
3个回答

24

这是您的工具栏的完整样式。解释已经内联给出。

<style name="MyToolbar" parent="@style/ThemeOverlay.AppCompat">
    <!-- Title text -->
    <item name="android:textColorPrimary">@android:color/white</item>

    <!-- Title color in AppCompat.Light  -->
    <item name="android:textColorPrimaryInverse">@android:color/white</item>

    <!-- Menu text-->
    <item name="actionMenuTextColor">@android:color/white</item>
    <!-- Overflow -->
    <item name="android:textColorSecondary">@android:color/white</item>
    <!-- This will change drawer icon -->
    <item name="drawerArrowStyle">@style/WhiteDrawerIconStyle</item>
    <!-- background of the  -->
    <!-- <item name="android:background">@color/color_primary</item> -->
</style>


<style name="WhiteDrawerIconStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@android:color/white</item>
</style>

关于字幕说明:您可以使用mToolbar.setSubtitle(subtitle);


太完美了,谢谢!Corey :) - Fishingfon

3

app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"添加到您的工具栏xml中。箭头变成白色。

   <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="@dimen/toolbar_height"
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

这就是让我的汉堡菜单图标变白的答案,谢谢。 - Ivan
很遗憾,这对我来说并没有改变汉堡图标的颜色为白色。 - chrizonline

2
在您的应用程序栏中添加以下属性:
app:theme = "@style/Base.V7.Theme.AppCompat"
这样就可以解决所有白色问题了。参考的主题包括带有白色项的工具栏,因此工具栏采用与其相关的主题部分。
按照上面讨论的方法调用mToolbar.setSubtitle。

谢谢,这对我有帮助,只是它有点模糊。 - Ivan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接