How to change color of Toolbar back button in Android?

后端 未结 17 1113
不知归路
不知归路 2020-12-04 06:51

I could not change the color of back button. I am using toolbar material design. In my app I am applying black background of tool bar but the back design is being black by d

相关标签:
17条回答
  • 2020-12-04 07:14

    You can add this code into your java class. But you must create a vector asset before, so you can customize your arrow back.

    actionBar.setHomeAsUpIndicator(R.drawable.ic_arrow_back_black_24dp);
    
    0 讨论(0)
  • 2020-12-04 07:15

    For white Toolbar Title and White Up arrow, use following theme:

    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    
    0 讨论(0)
  • 2020-12-04 07:16

    I did it this way using the Material Components library:

    <style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
        <item name="drawerArrowStyle">@style/AppTheme.DrawerArrowToggle</item>
    </style>
    
    <style name="AppTheme.DrawerArrowToggle" parent="Widget.AppCompat.DrawerArrowToggle">
        <item name="color">@android:color/white</item>
    </style>
    
    0 讨论(0)
  • 2020-12-04 07:16

    If you want system back color in white then you can use this code

    <com.google.android.material.appbar.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:elevation="0dp"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent">
    
            <androidx.appcompat.widget.Toolbar
                android:id="@+id/toolbar_notification"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:contentInsetLeft="0dp"
                app:contentInsetStart="0dp"
                app:contentInsetStartWithNavigation="0dp">
    
                <include layout="@layout/action_bar_notification" />
            </androidx.appcompat.widget.Toolbar>
        </com.google.android.material.appbar.AppBarLayout>
    

    Note:- android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" is key

    The paste is in your activity where you want to show back button on action bar

    final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_notification);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(false);
    
    0 讨论(0)
  • 2020-12-04 07:22

    use this style

    <style name="Theme.MyFancyTheme" parent="android:Theme.Holo">
        <item name="android:homeAsUpIndicator">@drawable/back_button_image</item>
    </style>
    
    0 讨论(0)
  • 2020-12-04 07:22

    If you want white back button (←) and white toolbar title, follow this:

    <android.support.design.widget.AppBarLayout
            android:id="@+id/app_bar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
    
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
        </android.support.design.widget.AppBarLayout>
    

    Change theme from Dark to Light if you want black back button (←) and black toolbar title.

    0 讨论(0)
提交回复
热议问题