2017-06-02 2 views
0

Ich habe zwei Mini-FABs nebeneinander wie folgt:Uneinheitliche FloatingActionButton Polsterung mit useCompatPadding auf API 21 oder höher

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/zoom_in_fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     app:srcCompat="@drawable/ic_zoom_in" 
     app:fabSize="mini" 
     app:useCompatPadding="true"/> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/zoom_out_fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     app:srcCompat="@drawable/ic_zoom_out" 
     app:fabSize="mini" 
     app:useCompatPadding="true"/> 

</LinearLayout> 

Diese in den meisten Fällen gut aussieht, es sei denn, eine der Tasten deaktiviert ist (mit fab.setEnabled(false)) vor das Layout wird gezeichnet. Then it looks like this.

Der Zoom-Out-FAB scheint auf der linken Seite weniger Polsterung aufzuweisen, und während Sie ihn in diesem speziellen Bild nicht sehen können, hat er auch weniger Polsterung an der Oberseite. Dies tritt nur auf, wenn ich app:useCompatPadding="true" verwende, anstatt etwas wie,zu machen (was vor und nach API 21 inkonsistent aussieht).

Dies geschieht nur auf API 21 oder höher. Es sieht perfekt auf API 17-19 aus.

Meine Annahme ist, dass es einen Fehler in der Support-Bibliothek gibt (ich verwende 25.3.1), wo eine FAB-Höhe verwendet wird, um den Rand festzulegen, bevor das Layout gezeichnet wird, aber nicht den Fall berücksichtigt Ein FAB hat keine Höhe, wenn es deaktiviert ist.

Hat jemand anderes dieses Problem oder gibt es einen Workaround? Prost.

Antwort

0

Es ist besser, eine komplette individuelle fab Tasten verwenden von unten zwei Websites oder schreiben vollständige benutzerdefinierte Ansicht in der Verlängerung ImageView, ImageButton oder FloatingActionButton.

Manchmal ist es schwer zu kontrollieren und macht eine App zu zerkleinern, wenn alle Attribute wie useCompatPadding nicht unterstützt werden.

Android Floating Action Buttons Libraries 1

Android Floating Action Buttons Libraries 2

Verwandte Themen