2015-06-03 17 views
13

Sto cercando di sostituire la terza parte FloatingActionButton con the native one che è impacchettata nella libreria com.android.support:design:22.2.0. L'aspetto predefinito ha un'ombra scura attorno all'immagine, Come posso liberarmene? So che il primo fornisce il metodo setShadow(), ma non riesco a trovarne uno simile da quest'ultimo.Come rimuovere l'ombra circostante di FloatingActionButton?

enter image description here

Questo è il relativo file XML di layout:

<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" /> 

E devo impostare il suo colore di sfondo giallo.

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

risposta

20

ignorare l'impostazione predefinita elevation della FAB, aggiungendo:

android:elevation="0dp" 

O in codice di chiamata View.setElevation(float)

+3

Non funziona per me. – tounaobun

+3

setElevation è disponibile a un livello API minimo di 21, come può funzionare sotto LOLLIPOP? – tounaobun

+0

Si potrebbe semplicemente attenersi al vecchio approccio di creare il proprio ImageButton su pre-lecca-lecca. Come hai fatto prima, hanno introdotto FAB –

7

Override l'elevazione di default del FAB aggiungendo la seguente:

app:elevation="0dp" 
+0

Grazie. il tuo approccio ha funzionato per me. – viper

+0

Questa è la risposta giusta !! –

2

Se si utilizzano le librerie di supporto - l'ultimo Android Modelli di studio li usiamo. Controllare le importazioni

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

altro se sei solo supportare le versioni più recenti SDK

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

see

.../app/build.gradle 
    minSdkVersion 18 << less than 21 so req support libraries 
    targetSdkVersion 25 
2

Aggiungere questo

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

E 'sarà come:

<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"/> 
0

provato tutti i suggerimenti di cui sopra e niente ha lavorato per API 23 e alta. Ho finito con questo, che ha completamente rimosso l'ombra:

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

seguito è riportato come il mio tasto appare come ora:

enter image description here

Prima il cambiamento sembrava come segue:

enter image description here

Problemi correlati