我在API 19:4.2.2上有一些正确的布局正常工作但无法在API 21上运行:5.0.1。
这是布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/start_button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textStyle="bold"
android:textSize="30sp"
android:background="@color/start_button_bg"
android:textColor="@color/start_button_text"
android:text="@string/start_process"/>
<TextView
android:id="@+id/pro_icon"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:textColor="@android:color/white"
android:background="@drawable/pro_icon"
android:text="PRO"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceMedium"/>
</RelativeLayout>
真的很简单。我只想让textview在相对布局中覆盖Button。我知道相对布局按照它们在xml中添加的顺序堆栈视图,但这似乎在lollipop上不起作用。我无法通过按钮呈现TextView。有什么想法吗?
干杯。
答案 0 :(得分:15)
默认情况下,Button
在Android 5.0+上有elevation
; TextView
没有。窗口小部件的高程基本上会覆盖由RelativeLayout
或FrameLayout
设置的Z轴排序。
您的选择是:
重新设计您的用户界面,不要在Z轴上订购小部件,或
Replace the StateListAnimator
on your Button
to modify or eliminate the elevation
animation或
尝试通过TextView
将android:elevation
的海拔高度更改为高于Button