J'ai la disposition suivante (ici est présenté plus simple conception):Pourquoi FrameLayout ne définit pas correctement la commande Z dans ma mise en page?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_main">
<FrameLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hey, badge!"
android:layout_margin="10dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="AAAAA"
android:layout_margin="10dp"
android:textSize="12sp"
android:background="#ff00ff"
android:padding="10dp"
android:layout_gravity="top|end"
/>
</FrameLayout>
</RelativeLayout>
Je souhaite mettre TextView avec le texte « AAAA » d'agir comme un badge Button, à savoir être placé sur le bouton dans sa coin supérieur droit, ce qui n'est pas le cas.
Au lieu de cela, lorsque je tente ce code sur HTC One M7 avec Lollipop, ou sur Genymotion Nexus 6 avec Lollipop, l'écran ressemble à ceci:
Lorsque je tente le même code sur Genymotion Nexus 5 avec KitKat, tout a l'air comme prévu, à savoir première vue (bouton) est montré sous badge (textview)
Quelqu'un peut-il avoir une idée de ce qui pourrait ne pas être ici?
Merci, Deveti
Il a travaillé, merci! Mais, je devais ajouter 'android: elevation =" 2dp "' pour le TextView non plus, puis le badge apparaissait. Je ne sais pas pourquoi, intéressant. –
J'ai oublié de dire que si vous ne voulez pas créer plusieurs mises en page, vous pouvez définir l'élévation à partir du code avec 'View.setElevation (float)' sur lollipop ou 'ViewCompat.setElevation (float)' sur pre-lollipop. –