2016-06-13 9 views
5

Ich möchte meine FloatingActionButton viel größer mit benutzerdefinierten Breite und Höhe. Ich finde heraus, dass dies nur möglich ist, wenn ich dies als Kind in FrameLayout oder in CoordinatorLayout hinzufügen. Auf Lollipop und Marshmallow sieht es gut aus. Aber auf Pre-Lollipop ist der Schatten von FloatingActionButton sehr seltsam. Ist es ein Fehler von Android oder habe ich etwas falsch gemacht?FloatingActionButton Schatten auf Pre-Lollipop

<android.support.design.widget.CoordinatorLayout 
    android:id="@+id/help_layout" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true"> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/my_btn" 
     android:layout_width="150dp" 
     android:layout_height="150dp" 
     android:layout_gravity="center" 
     android:src="@mipmap/ic_launcher" /> 

</android.support.design.widget.CoordinatorLayout> 

Ich habe auch versucht, und app:borderWidth="0dp" hinzuzufügen, aber ohne Glück.

Dies ist, wie es in Kitkat aussieht: ist

Kitkat

+0

was über die Verwendung von Breite und Höhe des Layouts als 'wrap_content' –

Antwort

2

Fab-Taste ist unter zwei Standardabmessungen erhältlich. Normal (56dp), Mini (40dp)

Sie können diese Werte jedoch überschreiben, indem Sie den folgenden Code in dimens.xml (unter Werte) hinzufügen.

<dimen name="design_fab_size_normal">150dp</dimen> 
<dimen name="design_fab_size_mini">30dp</dimen> 
0

Ich glaube, dass dies durch diese beiden Linien verursacht:

android:layout_width="150dp" 
android:layout_height="150dp" 

Versuchen Sie, sie zu setzen:

android:layout_width="match_parent" 
android:layout_height="match_parent" 

Dann hinzufügen:

So ist die letzte xml wird:

<android.support.design.widget.CoordinatorLayout 
    android:id="@+id/help_layout" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true"> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/my_btn" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="center" 
     android:src="@mipmap/ic_launcher" 
     app:fabSize="normal"/> 

</android.support.design.widget.CoordinatorLayout> 
+0

Ja , aber jetzt ist die Schaltfläche nicht so groß, wie ich es möchte –

+0

Es gibt ein paar Möglichkeiten, um die Größe von Fabs zu ändern, aber es wird empfohlen, dass Sie die angegebenen Größen verwenden, selbst wenn Sie versuchen, die Schaltfläche zu vergrößern oder zu verkleinern. Automatisch oder Mini). Hier sind einige Orte, wo Sie die Antwort finden können, um die Größe zu ändern: http://stackoverflow.com/questions/32882742/android-how-to-change-size-of-appfabsize-normal-for-floating -action-button https://github.com/mikepenz/Android-Iconics/issues/143 Ich habe gerade mein fab in ein FrameLayout und änderte die Größe des FrameLayout, persönlich. – Genjab

+0

Ich werde es versuchen. Aber das Problem ist, dass ich eine benutzerdefinierte Schaltfläche fab gemacht habe, die Text bekommen kann, die Lösungen, die sie zur Verfügung stellen, sind nur für Symbole. Ich weiß, dass das nicht effizient ist (die Größe und der Text auf der Fan-Taste), aber ich wollte nur die Zeichen vermeiden. –

0

sollten Sie setzen

android:layout_width= "wrap_content" 
android:layout_height= "wrap_content" 

und fabSize auf mini (40dp) oder normal (56dp). Wenn Sie eine andere Größe der Schaltfläche Fab wünschen, sollten Sie die Schaltfläche skalieren.
Zum Beispiel wenn Sie 48dp Schaltflächengrße möchten, sollten Sie

app:fabSize="mini" 
android:scaleX=1.2 
android:scaleY=1.2 

auch hinzufügen, wenn Sie die Bildgröße android gesetzt behalten wollen: Scaletype = „center“

Verwandte Themen