22

ich die Anzeige FloatingActionButton zusammen mit einem Recyclerview in einem CoordinatorLayout, wenn der FAB geklickt wird eine Zeile in Recyclerview hinzugefügt werden würde. Jetzt ist das Problem der FAB hat Rand, als ich in API 15 prüfte, aber wenn ich in API 22 (Lollipop 5.1.1-Nexus 4) teste, bekomme ich keinen Rand und der FAB wird zum Rand des Schirmes gedrückt.FloatingActionButton Standardrand arbeiten nicht in Lutscher

Mein Anliegen ist FAB hat Default Margin Setup in API 15 (didnt andere Geräte testen), aber nicht in API 22 oder fehlt mir etwas.

Mein Layout-Code:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#6fbababa" 
    android:fitsSystemWindows="true"> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/my_recycler_view" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:clipToPadding="false" 
     android:paddingBottom="@dimen/fab_padding_bottom" 
     android:scrollbars="vertical" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#ffffff"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fitsSystemWindows="true" 
      android:orientation="horizontal" 
      app:layout_scrollFlags="scroll|enterAlwaysCollapsed"> 
      --------------------- 
      ---------------------  
     </LinearLayout> 

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

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/button_floating_action" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:clickable="true" 
     android:src="@drawable/ic_plus" 
     app:borderWidth="0dp" 
     app:layout_anchor="@id/my_recycler_view" 
     app:layout_anchorGravity="bottom|right|end" 
     app:rippleColor="@color/wallet_highlighted_text_holo_light" /> 

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

enter image description here

+1

http://stackoverflow.com/questions/30687888/android-design-library-floating-action-button-padding-margin-issues – goonerDroid

+0

K basierend auf dem Link sehe ich ein Problem mit der Bibliothek. – Psypher

Antwort

14

Ich landete mit API-spezifischen Randwerte. Meine Aktion Taste ist wie folgt:

<android.support.design.widget.FloatingActionButton 
    android:contentDescription="@string/menu_compose" 
    android:id="@+id/action" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:clickable="true" 
    android:src="@drawable/ic_create_white" 
    android:layout_gravity="bottom|right|end" 
    android:layout_marginBottom="@dimen/action_button_margin" 
    android:layout_marginRight="@dimen/action_button_margin" 
    android:layout_marginEnd="@dimen/action_button_margin" 
    app:elevation="6dp" 
    app:pressedTranslationZ="12dp" 
    app:fabSize="normal"/> 

@dimen/action_button_margin definiert in beiden Werte/dimens.xml:

<dimen name="action_button_margin">0dp</dimen> 

Und in Werte-v21/dimens.xml:

<dimen name="action_button_margin">16dp</dimen> 
0

I Angenommen, Sie haben das gleiche Problem wie in this question beschrieben. Die unterschiedliche Marge liegt daran, dass der Schatten berechnet wird oder nicht, abhängig von der API-Version.

16

Verwenden Sie einfach:

app:useCompatPadding="true" 

Dies sollte Platzbedarf hinzufügen.

+4

yep, sollte die akzeptierte Antwort sein –

+0

es funktionierte für mich in Ordnung. dann –