2017-06-05 1 views
0

Das Verhalten von FAB ist unerwartet. Die Bilder sind in der Verbindung unterFloating Action Button Unerwünschtes Verhalten mit Recycle view android

Kann keine Hilfe finden .. Es funktioniert irgendwann und irgendwann nicht. Nicht in der Lage eigentliches Problem zu finden sogar versucht, wie

CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) btnSubmitConfirm.getLayoutParams(); 
    params.setAnchorId(R.id.listWorkData);   
params.anchorGravity = Gravity.BOTTOM | GravityCompat.END | Gravity.RIGHT;   
btnSubmitConfirm.setLayoutParams(params); 

dynamisch hinzuzufügen, aber die Arbeit an allHere des xml codeneed eine Lösung Jungs

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/parentView" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:animateLayoutChanges="true" 
android:background="@color/background" 
android:clickable="true"> 

<android.support.v7.widget.RecyclerView 
    android:id="@+id/listWorkData" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="@dimen/ten" /> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/btnConfirmSubmitReport" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentEnd="true" 
    android:layout_alignParentRight="true" 
    android:layout_margin="@dimen/thirty" 
    android:src="@drawable/ic_tick" 
    android:tint="@android:color/white" 
    app:layout_anchor="@id/listWorkData" 
    app:layout_anchorGravity="bottom|right|end" /> 

[OK Zustand Bild dosen't ] [1] [Nicht OK Zustandsbild] [2] [1]: https://i.stack.imgur.com/7D0XD.png [2]: https://i.stack.imgur.com/ds2Gi.png

+0

Remove App: layout_anchor und App: layout_anchorGravity – Rohit

+0

@Rohit welche Art von Vorschlag ist eigentlich, dass ?? Ich brauche die FAB am Ende der Recyclingansicht –

Antwort

0

Diesen entfernen,

app:layout_anchor="@id/listWorkData" 
app:layout_anchorGravity="bottom|right|end" 

Und überprüfen.

+0

Wirklich? Ich bin sicher, das ist nicht meine Lösung. Ich möchte den FAB ganz rechts unten haben. –

0

Ich habe eine kleine Optimierung, damit es funktioniert, als ich brauchte Ich fügte einfach den Listener hinzu, um zu überprüfen, ob die Recycleransicht aktualisiert und Änderungen an FAB darin vorgenommen wurde.

listWorkData.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { 
     @Override 
     public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { 
      listWorkData.removeOnLayoutChangeListener(this); 

      CoordinatorLayout.LayoutParams lp = (CoordinatorLayout.LayoutParams) btnSubmitConfirm.getLayoutParams(); 
      lp.anchorGravity = Gravity.BOTTOM | GravityCompat.END; 
      btnSubmitConfirm.setLayoutParams(lp); 
     } 
    }); 

    listWorkData.getAdapter().notifyDataSetChanged(); 
Verwandte Themen