2015-11-27 17 views
10

Chcę dodać TextView powyżej FloatingActionButton używam FrameLayout jak układ dominującej TextView i FloatingActionButton, tu jest mój przykładowy kod:Jak dodać TextView powyżej FloatingActionButton w Androidzie

<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> 

ale to nie ma sensu, TextView jest poniżej FloatingActionButton, jak to enter image description here

i chcę to pokazać tak: enter image description here

Jestem za to biedny, czy ktoś może mi pomóc?

+0

Relativelayout ?? –

Odpowiedz

21

wystarczy elewacji przypisywać 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

Doskonale, rozwiązuje mój problem. Dzięki – naiyu

+0

Witamy .. szczęśliwe kodowanie :) – curiousMind

+1

Elewacja działa tylko dla API 21 lub wyższej. – MarsAndBack

7

to problem z zamówieniem. W swojej FrameLayout przesunąć <TextView powyżej <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> 

powinien to zrobić

+0

Mam spróbować, i to bezużyteczne – naiyu

+0

Piękne! Działa jak wdzięk dla API> 21. Zamiast tego musiał przekazać elewację telewizji. Możesz zrobić jedno z tych rzeczy. ** daj elewację TextView lub usuń elewację z FAB ** – sud007

0

Oto rozwiązanie:

<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

Ustaw odpowiednio wysokość dla obu widoków. Ponadto bardziej sensowne jest przeniesienie kodu XML TextView powyżej kodu XML FAB.

2

Aby wesprzeć niskie urządzenie końcowe używać zarówno android:elevation i app:elevation

ustawić zarówno wartości 0 dla 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> 
Powiązane problemy