2015-11-27 12 views
10

voglio aggiungere un TextView sopra un FloatingActionButton, io uso il FrameLayout come il layout capogruppo del TextView e FloatingActionButton, ecco il mio codice di esempio:Come aggiungere un TextView sopra un FloatingActionButton in Android

<FrameLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <android.support.design.widget.FloatingActionButton 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     app:backgroundTint="#00fff0" 
     app:borderWidth="0dp" 
     android:elevation="0dp" 
     app:fabSize="normal" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#000000" 
     android:text="above"/> 

</FrameLayout> 

ma è inutile, il TextView è inferiore al FloatingActionButton, come questo enter image description here

e lo voglio mostrare come questo: enter image description here

Sono povero per questo, qualcuno può aiutarmi?

+0

Relativelayout ?? –

risposta

21

hai solo bisogno di elevazione attribuire al TextView

<FrameLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <android.support.design.widget.FloatingActionButton 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     app:backgroundTint="#00fff0" 
     app:borderWidth="0dp" 
     android:elevation="0dp" 
     app:fabSize="normal" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#000000" 
     android:text="above" 
     android:elevation="7dp"/> 

</FrameLayout> 
+0

Eccellente, risolve il mio problema. Grazie – naiyu

+0

Benvenuti .. felice codifica :) – curiousMind

+1

L'elevazione funziona solo per API 21 o superiore. – MarsAndBack

7

it un problema di ordine z. Nella tua FrameLayout spostare la <TextView al di sopra del <FloatingActionButton

<FrameLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"> 

    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#000000" 
    android:text="above"/> 

    <android.support.design.widget.FloatingActionButton 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:backgroundTint="#00fff0" 
    app:borderWidth="0dp" 
    android:elevation="0dp" 
    app:fabSize="normal" /> 
</FrameLayout> 

dovrebbe farlo

+0

Ho provato, ed è inutile – naiyu

+0

Bello! Ha funzionato come un fascino per API> 21. Dovuto dare l'elevazione alla TV, invece. Puoi fare entrambe le cose. ** dare l'elevazione a TextView o rimuovere l'elevazione da FAB ** – sud007

0

Ecco la soluzione:

<FrameLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"> 

<RelativeLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" > 


<android.support.design.widget.FloatingActionButton 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:backgroundTint="#00fff0" 
    app:borderWidth="0dp" 
    android:elevation="0dp" 
    app:fabSize="normal" /> 

<TextView 
    android:layout_toRightOf="@+id/fab" 
    android:layout_marginLeft="-10dp" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#000000" 
    android:text="above"/> 
</RelativeLayout> 

</FrameLayout> 
0

Impostare le quote per entrambe le viste di conseguenza. Inoltre, ha più senso spostare il codice XML TextView sopra il codice FAB XML.

2

Per supportare terminale partire utilizzare entrambi impostati android:elevation e app:elevation

entrambi i valori a 0 per Fab

<FrameLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

<android.support.design.widget.FloatingActionButton 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:backgroundTint="#00fff0" 
    app:borderWidth="0dp" 
    android:elevation="0dp" 
    app:elevation="0dp" 
    app:fabSize="normal" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#000000" 
    android:text="above"/> 

    </FrameLayout> 
Problemi correlati