2015-08-20 9 views
9

Ho un FloatingActionButton. Voglio che sia al centro di 2 LinearLayouts e al centro dello schermo come questo. enter image description hereCome allineare il pulsante di azione mobile al centro

Attualmente il mio disegno è come questo

enter image description here

io voglio che sia al centro esatto dello schermo. Come farlo?

Questo è tutto il mio codice XML

<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"> 
<LinearLayout android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 
    <LinearLayout 
     android:id="@+id/viewA" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1.6" 
     android:orientation="horizontal"/> 
    <LinearLayout 
     android:id="@+id/viewB" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.2" 
     android:orientation="horizontal"/> 
</LinearLayout> 
<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:clickable="true" 
    android:src="@drawable/ic_plus" 
    app:layout_anchor="@id/viewA" 
    android:layout_centerHorizontal="true" 
    app:layout_anchorGravity="bottom" 
    android:layout_centerInParent="true" /> 

+1

puoi pubblicare il layout intero XML? –

+0

Ho modificato la domanda. Il mio intero codice xml è lì – dev

+0

L'app: layout_anchorGravity = "center" 'funziona? –

risposta

10

tuo CoordinatorLayout è un FrameLayout, così provare in questo modo, spero che si aiuta tu .

app:layout_anchorGravity="bottom|center" 
+3

Questo dovrebbe funzionare perché CoordinatorLayout è un FrameLayout, non un RelativeLayout dove 'layout_centerHorizontal =" true "' funzionerebbe. – Zharf

+0

@Zharf Sì. Grazie per la condivisione –

0

Cambia per questo

app:layout_anchor="@id/viewA" 
android:layout_centerHorizontal="true" 
+0

No, non funziona – dev

1

Impostazione layout_centerHorizontal e layout_centerInParent non funzionano in un CoordinatorLayout. Sono ammessi solo in RelativeLayout. Si dovrebbe fare così:

app:layout_anchorGravity="center|bottom" 
1

Sopra le soluzioni non ha funzionato per me in qualche modo. Ho cambiato il android:layout_gravitiy a

android:layout_gravity="bottom|center"

Speranza che aiuta :-)