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

时间:2014-11-26 14:37:32

标签: java android material-design android-toolbar

我目前正在使用新材料设计指南构建应用。 我使用的是工具栏而不是操作栏。

我想要文本,溢出图标和箭头/汉堡包图标(当您拉出导航图时翻转的东西)是白色而不是黑色,但我的主题的其余部分需要是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>

提前感谢您的帮助。

科里B:)

3 个答案:

答案 0 :(得分: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(sutitle);

答案 1 :(得分: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">

答案 2 :(得分:2)

在您的应用栏中,添加此属性。

app:theme =&#34; @ style / Base.V7.Theme.AppCompat&#34;

那应该照顾所有的白痴。引用的主题包含一个带有白色项目的工具栏,因此工具栏将获取与其相关的主题部分。

如上所述调用mToolbar.setSubtitle。