Bagaimana cara menghilangkan bayangan di sekitar FloatingActionButton?

Saya mencoba mengganti FloatingActionButton pihak ketiga dengan yang asli yang dikemas dalam perpustakaan com.android.support:design:22.2.0.Tampilan default memiliki bayangan gelap di sekitar gambar, Bagaimana bisa Saya menyingkirkannya? Saya tahu yang pertama menyediakan metode setShadow(), tetapi saya tidak dapat menemukan yang serupa dari yang terakhir.

masukkan deskripsi gambar di sini

Ini adalah tata letak XML terkait:

<android.support.design.widget.FloatingActionButton
        android:id="@+id/alarm_front"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/btn_icon_alarm_notset" />

Dan saya telah mengatur warna latar belakangnya menjadi kuning.

mAlarmBtn.setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(R.color.floatButtonColor)));

person tounaobun    schedule 03.06.2015    source sumber


Jawaban (7)


Ganti elevasi default FAB dengan menambahkan:

android:elevation="0dp"

Atau dalam kode panggil View.setElevation(float)

person BrentM    schedule 03.06.2015
comment
setElevation tersedia pada API level minimum 21, bagaimana cara kerjanya di bawah LOLLIPOP? - person tounaobun; 03.06.2015
comment
Anda bisa tetap menggunakan pendekatan lama yaitu membuat ImageButton Anda sendiri di pra-lollipop. Seperti yang Anda lakukan sebelum mereka memperkenalkan FAB - person Zsolt Boldizsár; 03.06.2015
comment
Pengembang lain melaporkan masalah bayangan pada dukungan FAB yang baru, meskipun secara umum bayangan tersebut tidak menunjukkan masalah yang sebaliknya, tetapi mungkin merupakan masalah terkait. stackoverflow.com/questions/30532863/ - person BrentM; 03.06.2015
comment
Kemudian saya akan tetap menggunakan pihak ketiga sampai ada solusi untuk FAB perpustakaan desain. Terima kasih BrentM. - person tounaobun; 03.06.2015
comment
Dengan FAB resmi, Anda dapat menggunakan app:elevation="0dp" untuk melakukan apa pun yang Anda inginkan. Saya mencoba di Android 4.1.1 dan berfungsi dengan baik. Saya belum tahu apakah ada solusi Java. - person Gaëtan; 01.07.2015
comment
@ Gaƫtan, Anda harus mengubah ini menjadi sebuah jawaban, Ini sangat membantu saya. terima kasih - person Tosin Onikute; 22.11.2015
comment
gunakan app:elevation="0dp" untuk kompatibilitas - person Leonardo; 16.02.2016

Tambahkan ini

android:elevation="0dp" app:elevation="0dp"

Ini akan menjadi seperti:

 <android.support.design.widget.FloatingActionButton
        android:id="@+id/floatingActionButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_add"
        android:elevation="0dp"
        app:elevation="0dp"
        app:fabSize="normal"
        android:scaleType="fitCenter"/>
person Jean-Nicolas Defossé    schedule 30.11.2017
comment
Inilah jawabannya di antara semuanya - person GvSharma; 04.11.2018

Ganti elevasi default FAB dengan menambahkan yang berikut ini:

app:elevation="0dp"
person saurabh dhillon    schedule 10.04.2017

Jadikan borderWidth menjadi 0

app:borderWidth="0dp"
person Sameer Khader    schedule 27.04.2019
comment
Mencoba semua cara di atas, tetapi bayangannya tetap ada... Jawaban ini berhasil untuk saya! - person stefan; 21.12.2019

Jika Anda menggunakan pustaka dukungan - templat Android Studio terbaru akan menggunakannya. Periksa impor

import android.support.design.widget.FloatingActionButton;
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
//if using support app compat
fab.setCompatElevation(16.0f);

lain jika Anda hanya mendukung versi SDK yang lebih baru

fab.setElevation();
//call requires SDK 21

melihat

.../app/build.gradle
  minSdkVersion 18    << less than 21 so req support libraries
  targetSdkVersion 25
person brian.clear    schedule 12.05.2017

Mencoba semua saran di atas dan tidak ada yang berhasil untuk API 23 dan lebih tinggi. Saya berakhir dengan ini, yang telah menghilangkan bayangan sepenuhnya:

app:backgroundTint="@android:color/transparent"
app:borderWidth="0dp"

Di bawah ini tampilan tombol saya sekarang:

masukkan deskripsi gambar di sini

Sebelum diubah tampilannya sebagai berikut:

masukkan deskripsi gambar di sini

person Oleg Gryb    schedule 02.02.2018

Solusi ini juga berfungsi untuk ExtendedFloatingActionButton:

style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
person StefanTo    schedule 02.03.2021