Ответ 1
Я нашел решение самостоятельно:
getActionBar().setElevation(0);
Дополнительная информация:
https://developer.android.com/reference/android/app/Activity.html#getActionBar()
Использование API21 + Toolbar
:
// Toolbar
Toolbar toolbar = new Toolbar(this);
toolbar.showOverflowMenu();
Хотел бы полностью удалить свою тень. setElevation(0)
ничего не делает, поскольку getElevation()
уже возвращает 0
.
Существует ссылка на конструкцию материала:
https://material.io/guidelines/layout/structure.html#structure-toolbars
Существует ссылка на ссылку:
https://developer.android.com/reference/android/widget/Toolbar.html
Но я не вижу никакой информации, связанной с тенью. Toolbar
Вопрос: как удалить/скрыть Toolbar
тень полностью?
Я нашел решение самостоятельно:
getActionBar().setElevation(0);
Дополнительная информация:
https://developer.android.com/reference/android/app/Activity.html#getActionBar()
Используйте app:elevation="0dp"
вместо android:elevation
на панели инструментов.
Если это не работает, поместите свою панель инструментов в AppBarLayout
и установите 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>
Используйте атрибут app:elevation="0dp"
на Toolbar
или AppBarLayout
чтобы удалить тень.
#. Если вы используете только Toolbar
, добавьте атрибут 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"/>
#. Если вы используете AppBarLayout
в качестве контейнера Toolbar
, добавьте атрибут 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>
ВЫХОД:
ОБНОВИТЬ:
Если вы хотите удалить его программно, используйте следующий код:
getSupportActionBar().setElevation(0);
Надеюсь, это поможет ~
Instaed of android: приложение для повышения высоты: высота
<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();
Работал на меня проблемы с версией, я думаю Спасибо Бьорн
Если вы используете AppbarLayout на панели инструментов, вы можете использовать app: elevation = "0dp" вместо android: elevation в AppBar Layout
Поместите этот код во Fragment
в котором вы хотите скрыть ToolBar
.
@Override
public void onResume() {
super.onResume();
((AppCompatActivity)getActivity()).getSupportActionBar().setElevation(0);
}
установите " # 00000000 " в backgroundColor панели инструментов, помните, что: если вы используете CoordinatorLayout и AppBarLayout, вы должны удалить app:layout_behavior="@string/appbar_scrolling_view_behavior"
вашего contentView, я допустил эту элементарную ошибку.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
appBarLayout.outlineProvider = null
}