Verwendung von API21 + Toolbar
:
// Toolbar
Toolbar toolbar = new Toolbar(this);
toolbar.showOverflowMenu();
Möchte seinen Schatten vollständig entfernen. setElevation(0)
tut nichts, da getElevation()
0
bereits zurückgibt.
Es gibt eine Referenz zu Material Design:
https://material.io/guidelines/layout/structure.html#structure-toolbars
Es gibt Entwicklungsreferenz:
https://developer.Android.com/reference/Android/widget/Toolbar.html
Aber ich sehe keine Informationen bezüglich des Schattens. Toolbar
Frage: wie man Toolbar
shadow vollständig entfernt/versteckt?
Ich habe selbst Lösung gefunden:
getActionBar().setElevation(0);
Mehr Info:
https://developer.Android.com/reference/Android/app/Activity.html#getActionBar ()
Verwenden Sie app:elevation="0dp"
anstelle von Android:elevation
in Ihrer Symbolleiste . Wenn dies nicht funktioniert, setzen Sie Ihre Symbolleiste in eine AppBarLayout
und setzen Sie 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>
Verwenden Sie das Attribut app:elevation="0dp"
für Ihre Toolbar
oder AppBarLayout
, um den Schatten zu entfernen.
#. Wenn Sie nur Toolbar
verwenden, fügen Sie das Attribut app:elevation="0dp"
zu Toolbar
hinzu.
<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"/>
#. Wenn Sie AppBarLayout
als Container von Toolbar
verwenden, fügen Sie das Attribut app:elevation="0dp"
zu AppBarLayout
hinzu.
<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>
AUSGABE:
UPDATE:
Wenn Sie es programmgesteuert entfernen möchten, können Sie folgenden Code verwenden:
getSupportActionBar().setElevation(0);
Hoffe das hilft ~
Anstelle von Android: Elevation Try App: Elevation
<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();
Arbeitete für mich Version Probleme Ich denke Danke Bjorn
in diese Frage
setze "# 000000" auf die backgroundColor der Symbolleiste, denke daran: Wenn du CoordinatorLayout und AppBarLayout verwendest, solltest du den app:layout_behavior="@string/appbar_scrolling_view_behavior"
deiner contentView entfernen, ich habe diesen elementaren Fehler gemacht.
Fügen Sie diesen Code in Fragment
ein, in dem Sie ToolBar
verbergen möchten.
@Override
public void onResume() {
super.onResume();
((AppCompatActivity)getActivity()).getSupportActionBar().setElevation(0);
}
Wenn Sie AppbarLayout in der Symbolleiste verwenden, können Sie app: elevation = "0dp" anstelle von Android: elevation im AppBar-Layout verwenden