я следующее расположение (здесь представлены гораздо более простой дизайн):Почему FrameLayout не правильно задает порядок Z в моем макете?
<?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>
Я хотел бы установить TextView с текстом «AAAA», чтобы выступать в качестве значка для кнопки, то есть, чтобы быть размещены над кнопкой в его верхний правый угол, что не так.
Вместо этого, когда я пытаюсь этот код на HTC One M7 с леденец, или на Genymotion Nexus 6 с леденец, экран выглядит примерно так:
Когда я пытаюсь тот же код на Genymotion Nexus 5 с KitKat, все выглядит так, как ожидалось, т.е. вид сверху (кнопка) отображается под значком (текст)
Кто-нибудь знает, что здесь может быть неправильным?
Спасибо, Deveti
Он работал, спасибо! Но мне пришлось добавить 'android: elevation =" 2dp "для TextView, а затем появился значок. Не знаю почему, интересно. –
Я забыл сказать, что если вы не хотите создавать несколько макетов, вы можете установить возвышение из кода с помощью 'View.setElevation (float)' на леденец или 'ViewCompat.setElevation (float)' на pre-lollipop. –