Saat menggunakan AppBarLayout
widget di pustaka dukungan desain, bayangan muncul di bagian bawah toolbar. Bagaimana cara menghapus bayangan itu?
android
android-layout
Abdul Rehman
sumber
sumber
setOutlineProvider
masalah ini hanya terjadi ketika api versi> = 21, jika Anda tidak ingin mengubah ketinggian, Anda dapat menggunakan:
ingatlah untuk memeriksa versi api
EDIT:
Pukulan adalah kode sumber
setOutlineProvider
.Dikatakan bahwa
If the ViewOutlineProvider is null, if querying it for an outline returns false, or if the produced Outline is {@link Outline#isEmpty()}, shadows will not be cast.
Jadi, jika Anda ingin menghapus bayangan, sebaiknya Anda menggunakan metode ini daripada pengaturan
app:elevation
. Tampaknya mengubah ketinggian untuk menghilangkan bayangan adalah semacam efek samping. Dan mengubah ketinggian dapat menyebabkan beberapa masalah lain dalam beberapa kasus.sumber
Untuk semua yang tidak ingin menggunakan
bringToFront()
danelevation="0dp"
membuat bilah alat menghilang:app:elevation="0dp"
disisir denganandroid:translationZ="0.1dp"
bekerja untuk saya.sumber
Dengan versi appcompat terbaru, setelan trik
app:elevation="0.1dp"
di xml tidak berfungsi lagi.Sejauh ini saya telah menemukan dua solusi.
Alih-alih menyetel
app:elevation
, coba gunakan stateListAnimator. Misalnya dalam kode:Cara yang lebih mudah adalah Anda tetap mengatur
app:elevation="0dp"
xml seperti biasa, tetapi dalam kode:Penghargaan diberikan untuk dua diskusi ini:
ToolBar menghilang saat menyetel ketinggian untuk AppBarLayout
ketika mengatur app: elevation = "0dp" maka hamburgermenu tidak muncul ke toolbar
sumber
Gunakan
android:stateListAnimator="@null"
. Tidak ada efek samping.sumber
Saya mencoba
app:elevation="0dp"
tetapi bilah alat hilang, tetapi menggunakanapp:elevation="0.1dp"
membuat trik.Semoga ini bisa membantu orang lain.
sumber
v25.0.0
.Tambahkan app: elevation = "0dp" di AppBarLayout Anda. seperti contoh ini
sumber
Secara terprogram Anda dapat menggunakan ini: getSupportActionBar (). SetElevation (0.0f);
sumber
Ini adalah cara yang saya
app:elevation="0dp"
pikirkan untuk menghilangkan bayangan. Bekerja dengan sempurna.sumber