2015-06-03 11 views
13

Ich versuche, die dritte Partei FloatingActionButton durch the native one zu ersetzen, die in der Bibliothek com.android.support:design:22.2.0 verpackt ist. Der Standard-Look hat einen dunklen Schatten um das Bild, Wie kann ich es loswerden? Ich weiß, dass der ehemalige mit der Methode setShadow() bietet, aber ich kann nur nicht eine ähnliche von letzterem finden.Wie entfernt man den umgebenden Schatten des FloatingActionButton?

enter image description here

Dies ist das zugehörige XML-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" /> 

Und ich habe die Hintergrundfarbe auf gelb.

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

Antwort

20

überschreiben die Standard elevation des FAB durch Zugabe von:

android:elevation="0dp" 

Oder in Coderuf View.setElevation(float)

+3

Es funktioniert nicht für mich. – tounaobun

+3

setElevation ist ab einer API-Mindeststufe von 21 verfügbar, wie kann es unterhalb von LOLLIPOP funktionieren? – tounaobun

+0

Sie könnten einfach mit dem alten Ansatz bleiben, Ihren eigenen ImageButton auf Pre-Lollipop zu erstellen. Wie bereits zuvor haben sie FAB eingeführt –

7

überschreiben die Standardansicht des FAB durch Zugabe des folgenden:

app:elevation="0dp" 
+0

Vielen Dank. Ihr Ansatz hat für mich funktioniert. – viper

+0

Das ist die richtige Antwort !! –

2

Wenn Sie die Support-Bibliotheken verwenden - das neueste Android Studio templates uns sie. Prüfen die Einfuhren

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

sonst, wenn youre nur neuere Versionen sdk

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

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

siehe Unterstützung Fügen Sie diese

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

Es ist aussehen wird:

<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

alle Vorschläge Versuchte oben und nichts hat sich für API 23 und hoch gearbeitet. Ich habe mit dieser endet, die vollständig den Schatten entfernt hat:

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

Unten ist, wie meine Taste sieht aus wie jetzt:

enter image description here

Bevor die Änderung es wie folgt aussah:

enter image description here