Meh*_*nai 13 android android-5.0-lollipop
在lolipop之前的Android版本中,以下代码有效,图像位于按钮前面.但在android 5中,imageview被放在按钮后面.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button"
android:layout_width="210sp"
android:layout_height="210sp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@drawable/round_button"
android:drawablePadding="10dip"
android:gravity="center_vertical|center_horizontal" />
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:contentDescription="@string/torch"
android:src="?attr/imageview" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
Com*_*are 32
问题出现在Android 5.0的elevation属性中.显然,RelativeLayoutZ轴排序与之相关elevation.如果两个窗口小部件具有相同的elevation,RelativeLayout则将确定Z轴顺序 - 例如,如果要将布局切换为两个Button窗口小部件,则可以看到.但是,如果一个widget(Button)有一个elevation,而另一个widget(ImageView)没有,则elevation优先.
您可以删除Button elevation通道android:stateListAnimator="@null"或定义自己的自定义动画师.或者,您可以添加一些elevation以ImageView使其在Z轴上高于Button.
| 归档时间: |
|
| 查看次数: |
8856 次 |
| 最近记录: |