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
et je veux le montrer comme ça:
Je suis pauvre pour ça, quelqu'un peut-il m'aider?
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>
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
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>
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.
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>