Utilisation de API21 + Toolbar
:
// Toolbar
Toolbar toolbar = new Toolbar(this);
toolbar.showOverflowMenu();
Voudrais enlever complètement son ombre. setElevation(0)
ne fait rien car getElevation()
renvoie déjà 0
.
Il existe une référence de conception de matériau:
https://material.io/guidelines/layout/structure.html#structure-toolbars
Il existe une référence de développement:
https://developer.Android.com/reference/Android/widget/Toolbar.html
Mais je ne vois aucune information relative à l'ombre. Toolbar
Question: comment supprimer/masquer complètement l’ombre Toolbar
?
J'ai trouvé la solution moi-même:
getActionBar().setElevation(0);
Plus d'informations:
https://developer.Android.com/reference/Android/app/Activity.html#getActionBar ()
Utilisez app:elevation="0dp"
au lieu de Android:elevation
sur votre barre d’outils . Si cela ne fonctionne pas, placez votre barre d’outils dans une AppBarLayout
et définissez app:elevation="0dp"
:
<Android.support.design.widget.AppBarLayout
Android:id="@+id/appBarLayout"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:elevation="0dp">
...
</Android.support.design.widget.AppBarLayout>
Utilisez l'attribut app:elevation="0dp"
de votre Toolbar
ou AppBarLayout
pour supprimer l'ombre.
#. Si vous utilisez uniquement Toolbar
, ajoutez l'attribut app:elevation="0dp"
à Toolbar
.
<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/AppTheme.PopupOverlay"
app:elevation="0dp"/>
#. Si vous utilisez AppBarLayout
comme conteneur de Toolbar
, ajoutez ensuite l'attribut app:elevation="0dp"
à AppBarLayout
.
<Android.support.design.widget.AppBarLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:theme="@style/AppTheme.AppBarOverlay"
app:elevation="0dp">
<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/AppTheme.PopupOverlay" />
</Android.support.design.widget.AppBarLayout>
OUTPUT:
METTRE À JOUR:
Si vous voulez le supprimer par programme, vous pouvez utiliser le code ci-dessous:
getSupportActionBar().setElevation(0);
J'espère que cela aidera ~
Au lieu d'Android: élévation essayez app: élévation
<Android.support.design.widget.AppBarLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/appbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:elevation="0dp">
</Android.support.design.widget.AppBarLayout>
findViewById(R.id.appBarLayout).bringToFront();
Travaillé pour moi questions de version, je pense Merci Bjorn
dans cette question