J'ai essayé de supprimer l'ombre sous la barre d'outils avec Theme.AppCompat.Light.NoActionBar, en utilisant toutes les recommandations des personnes qui y ont déjà répondu, mais personne ne travaillait. j'ai essayé
<item name="Android:windowContentOverlay">@null</item>
et
<item name="Android:windowContentOverlay">@drawable/solid_line</item> ....
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"android:shape="rectangle">
<solid Android:color="@color/accueil_color" />
<size Android:height="15dp" />
</shape>
et avec ça,
Android:elevation="0dp"
l'ombre va du haut de l'écran mais ne disparaît pas.
Avez-vous une idée pour supprimer totalement cette ligne d'ombre?
Je ne suis pas un expert mais je rencontre le même problème il y a quelques heures à peine. L'idée est donc qu'avec AppCompat
, nous devons gérer les attributs de la bibliothèque plutôt que les attributs Android. En d'autres termes, 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"
Android:fitsSystemWindows="true"
app:elevation="0dp">
<Android.support.v7.widget.Toolbar
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</Android.support.design.widget.AppBarLayout>
MODIFIER :
Je viens d'essayer une autre option sans AppBarLayout
. Cela fonctionne parfaitement pour moi, l'ombre a complètement disparu. Donc, je soupçonne que le problème est dans votre autre vue. Je ne pense pas que ce soit votre ToolBar
laisse tomber l'ombre.
<Android.support.v7.widget.Toolbar
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:minHeight="?attr/actionBarSize"
app:elevation="0dp" />
utiliser app:elevation="0dp" instead of Android:elevation
J'ai eu le même problème. L'application de app:elevation="0dp"
sur Android.support.design.widget.AppBarLayout
résout le problème
Ajoutez app:elevation="0dp"
dans AppBarLayout et l'ombre sera masquée.
J'ai eu le même problème.
Si votre barre d'outils se trouve à l'intérieur de Android.support.design.widget.AppBarLayout
Ajouter app: elevation = "0dp" sur Android.support.design.widget.AppBarLayout
règlera votre problème.
Sinon, ajoutez app:elevation="0dp"
sur Toolbar
.
<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"
Android:fitsSystemWindows="true"
app:elevation="0dp">
<Android.support.v7.widget.Toolbar
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
J'espère que ça aide :)
Il suffit d'utiliser après le super.onCreate(savedInstanceState);
if(getSupportActionBar() != null)
{
getSupportActionBar().setElevation(0);
}
@DmitryO Hum mon xml est comme ça, je n'ai pas Android.support.design.widget.AppBarLayout
, juste le widget de barre d'outils,
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:fab="http://schemas.Android.com/apk/res-auto"
xmlns:materialdesign="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@color/white"
Android:theme="@style/AppThemeAccueil">
<View xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="@dimen/statusBarHeight"
Android:background="@color/accueil_colorDark"
Android:elevation="@dimen/statusBarElevation"/>
<Android.support.v7.widget.Toolbar
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:popupTheme="@style/AppThemeAccueilToolbar"
Android:theme="@style/AppThemeAccueilToolbar"
Android:id="@+id/toolbarAccueil"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:minHeight="?attr/actionBarSize"
materialdesign:elevation="0dp"
Android:elevation="0dp"
Android:outlineProvider="background"
Android:layout_marginTop="@dimen/appBarTopMargin" >
</Android.support.v7.widget.Toolbar>
</RelativeLayout>
Ai-je eu cela? (Je pense que cela ne changera pas le résultat)
Placez simplement votre AppBarLayout
dans une LinearLayout
sur un fichier XML séparé, puis incluez ce XML dans votre XML principal.
En Kotlin, utilisez:
supportActionBar!!.elevation = 0.0f
Cordialement!
Si vous n’utilisez pas la barre d’outils dans la mise en page et que vous avez la barre d’outils par défaut de AppCompactActivity
, cela peut vous aider.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().setElevation(0);
Au moins cela a fonctionné pour moi.
Cordialement,