Je ne pouvais pas changer la couleur du bouton de retour. J'utilise la conception matérielle de la barre d'outils. Dans mon application, j'applique un arrière-plan noir de la barre d'outils, mais la conception du dos est noire par défaut, c'est pourquoi je veux simplement changer la couleur de ce bouton de retour. Veuillez me donner des solutions.
Merci
Réponses:
utiliser ce style
<style name="Theme.MyFancyTheme" parent="android:Theme.Holo"> <item name="android:homeAsUpIndicator">@drawable/back_button_image</item> </style>
la source
Vous pouvez ajouter un style à votre styles.xml,
<style name="ToolbarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar"> <!-- Customize color of navigation drawer icon and back arrow --> <item name="colorControlNormal">@color/toolbar_color_control_normal</item> </style>
et ajoutez-le comme thème à votre barre d'outils dans la barre d'outils layout.xml en utilisant app: theme , vérifiez ci-dessous
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" app:theme="@style/ToolbarTheme" > </android.support.v7.widget.Toolbar>
la source
Voici le moyen le plus simple d'obtenir un thème clair et foncé pour
app:theme
la barre d'outils: vous devez modifier la valeur de la balise Toolbarla source
Theme.AppCompat.Light.DarkActionBar
dans mon cas.Pour le titre de la barre d'outils blanche et la flèche blanche vers le haut, utilisez le thème suivant:
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
la source
Utilisez ceci:
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorControlNormal">@color/white</item> </style>
la source
Essaye ça,
final Drawable upArrow = getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha); upArrow.setColorFilter(getResources().getColor(R.color.grey), PorterDuff.Mode.SRC_ATOP); getSupportActionBar().setHomeAsUpIndicator(upArrow);
la source
Vous n'avez pas à changer de style pour cela. Après avoir configuré votre barre d'outils en tant que barre d'action, vous pouvez coder comme ceci
android.getSupportActionBar().setDisplayHomeAsUpEnabled(true); android.getSupportActionBar().setHomeAsUpIndicator(R.drawable.back); //here back is your drawable image
Mais vous ne pouvez pas changer la couleur de la flèche arrière par cette méthode
la source
Si vous voulez un bouton de retour blanc (←) et un titre de barre d'outils blanc, procédez comme suit:
<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>
Changez le thème de
Dark
àLight
si vous voulez un bouton de retour noir (←) et un titre de barre d'outils noir.la source
Vous pouvez utiliser votre propre icône en utilisant
app:navigationIcon
et pour la couleur du titreapp:titleTextColor
Exemple:
<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?actionBarSize" android:background="@color/colorPrimary" app:navigationIcon="@drawable/ic_arrow_back_white_24dp" app:titleTextColor="@color/white" />
la source
app:navigationIcon="@drawable/ic_back_black"
Je pense que si le thème doit être généré, un problème, mais sa flèche noire est définie de manière dynamique.Je suggère donc d'essayer celui-ci.
la source
Utilisez simplement le
MaterialToolbar
et remplacez les couleurs par défaut:<com.google.android.material.appbar.MaterialToolbar style="@style/Widget.MaterialComponents.Toolbar.Primary" android:theme="@style/MyThemeOverlay_Toolbar" ..>
avec:
<style name="MyThemeOverlay_Toolbar" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary"> <!-- color used by navigation icon and overflow icon --> <item name="colorOnPrimary">@color/...</item> </style>
Si vous utilisez le
androidx.appcompat.widget.Toolbar
ou leMaterialToolbar
avec le style par défaut (Widget.MaterialComponents.Toolbar
), vous pouvez utiliser:<androidx.appcompat.widget.Toolbar android:theme="@style/MyThemeOverlay_Toolbar2"
avec:
<style name="MyThemeOverlay_Toolbar2" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary"> <!-- This attributes is used by title --> <item name="android:textColorPrimary">@color/white</item> <!-- This attributes is used by navigation icon and overflow icon --> <item name="colorOnPrimary">@color/secondaryColor</item> </style>
la source
J'utilise le
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar>
thème dans mon application Android et dans le thème NoActionBar,colorControlNormal
propriété est utilisée pour changer la couleur de l'icône de navigation par défaut Flèche du bouton Retour dans ma barre d'outilsstyles.xml
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorControlNormal">@color/your_color</item> </style>
la source
Simple et sans soucis
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout 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:titleTextColor="@color/white" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> </android.support.design.widget.AppBarLayout> <include layout="@layout/testing" /> </android.support.design.widget.CoordinatorLayout>
la source
Je l'ai fait de cette façon en utilisant la bibliothèque de composants matériels:
<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>
la source
Vous pouvez ajouter ce code dans votre classe java. Mais vous devez créer un élément vectoriel avant, afin de pouvoir personnaliser votre flèche en arrière.
la source
Pour styliser la barre d'outils sur Android 21+, c'est un peu différent.
<style name="DarkTheme.v21" parent="DarkTheme.v19"> <!-- toolbar background color --> <item name="android:navigationBarColor">@color/color_primary_blue_dark</item> <!-- toolbar back button color --> <item name="toolbarNavigationButtonStyle">@style/Toolbar.Button.Navigation.Tinted</item> </style> <style name="Toolbar.Button.Navigation.Tinted" parent="Widget.AppCompat.Toolbar.Button.Navigation"> <item name="tint">@color/color_white</item> </style>
la source
Si vous voulez la couleur du dos du système en blanc, vous pouvez utiliser ce 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>
Remarque: -
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
est la cléLe collage est dans votre activité où vous souhaitez afficher le bouton de retour sur la barre d'action
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_notification); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(false);
la source