Come posso aggiungere il nuovo "Floating Button azione" tra due widgets / layout

? Waza_Be @ | Original: StackOverFlow
---

Credo che avete visto le nuove linee guida di progettazione Android, con il nuovo " pulsante di azione Floating " aka " FAB "

Per esempio questo pulsante rosso :

Come posso aggiungere il nuovo "Floating Button azione" tra due widgets / layout

La mia domanda sembra stupido, e ho già provato un sacco di cose, ma qual è il modo migliore per mettere questo tasto nel punto di intersezione di due layout ?

Nel exemple sopra, questo pulsante è perfettamente posizionato tra ciò che possiamo immaginare di essere un ImageView e relativeLayout .

Ho già provato un sacco di modifiche, ma sono convinto che ci sia un modo corretto di farlo .

Grazie mille per aver condiviso le vostre idee .

---

Top 5 Risposta

1Dre @

Ho appena visto il seguente discorso e penso che potrebbe spiegare il processo .

https://www.youtube.com/watch?v=ctzWKRlTYHQ?t=18m44s

Il ImageView top segue un Keyline quindi la posizione dei pulsanti può essere fatto facilmente . Es la ImageView superiore è 112dp sul cellulare ( 56dp x 2 ) . Se la FAB è 56dp allora deve avere layout_marginTop di 56dp ( altezza della FAB ) + 28dp ( metà altezza della seconda casella 56dp ) = 84dp .

Questo è proprio quello che ho capito . Spero che abbia senso e ti aiuta in qualche modo .

2Oleksii Kropachov @

Prova https://github.com/shamanland/floating-action-button ( http://shamanland.github.io/floating-action-button/com/shamanland/fab/FloatingActionButton.html ) :

dependencies {
    compile 'com.shamanland:fab:0.0.5'
}

Esso offre singolo widget con possibilità di personalizzare tramite Tema, xml o java -code.

Come posso aggiungere il nuovo "Floating Button azione" tra due widgets / layout  Come posso aggiungere il nuovo "Floating Button azione" tra due widgets / layout

E ' molto semplice da usare . Ci sono a disposizione normal e l'attuazione mini secondo http://www.google.com/design/spec/patterns/promoted-actions.html modello .

<com.shamanland.fab.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_action_my"
    app:floatingActionButtonColor="@color/my_fab_color"
    app:floatingActionButtonSize="mini"
    />

Prova a compilare il https://github.com/shamanland/floating-action-button . C'è esempio esaustivo : temi chiari e scuri, con con ListView, allineare tra due Visualizzazioni .

3nathandrake @

Mi sono imbattuto in questo post, mentre ho cercato di attuarlo nel mio progetto http://www.bignerdranch.com/blog/floating-action-buttons-in-android-l/ quello che mi piace è doesnt richiedono l'uso di librerie di terze parti .

4Hugh Jeffner @

Sembra che il modo più pulito in questo esempio è quello di :

Use a RelativeLayout Position the 2 adjacent views one below the other Align the FAB to the parent right/end and add a right/end margin Align the FAB to the bottom of the header view and add a negative margin, half the size of the FAB including shadow

Esempio ( adattato da implementazione shamanland ), assumere FAB è alto 64DP compreso ombra

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <View
        android:id="@+id/header"
        android:layout_width="match_parent"
        android:layout_height="120dp"
    />

    <View
        android:id="@+id/body"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/header"
    />

    <whatever.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignBottom="@id/header"
        android:layout_marginBottom="-32dp"
        android:layout_marginRight="20dp"
    />

</RelativeLayout>
5Dalvik VM @

È possibile importare il progetto di esempio di Google in Android Studio facendo clic su File > Importa campione ...

Come posso aggiungere il nuovo "Floating Button azione" tra due widgets / layout

Questo campione contiene una vista FloatingActionButton che eredita da FrameLayout .