web-dev-qa-db-fra.com

Comment ajouter un TextView au-dessus d'un FloatingActionButton dans Android

Je veux ajouter un TextView au-dessus d'un FloatingActionButton, j'utilise le FrameLayout comme disposition parent du TextView et du FloatingActionButton.

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

mais c'est inutile, le TextView est en dessous du FloatingActionButton, comme ceci  enter image description here

et je veux le montrer comme ça:  enter image description here

Je suis pauvre pour ça, quelqu'un peut-il m'aider?

11
naiyu

il vous suffit d'attribuer l'altitude à la vue texte

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

c'est un problème d'ordre z. Dans votre FrameLayout, déplacez le <TextView au-dessus du <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>

devrait le faire

7
Blackbelt

Pour prendre en charge les appareils bas de gamme, utilisez Android:elevation et app:elevation

définir les deux valeurs à 0 pour 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>
2
Manohar Reddy

Définissez les élévations pour les deux vues en conséquence. En outre, il est plus logique de déplacer votre code XML TextView au-dessus de votre code XML FAB.

0
user6657768

Voici votre solution:

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