Android提升属性不工作
自从升级到sdk21以来,我一直在尝试使用elevation属性,但它似乎从来都不起作用 我想将一个框架提升到其他框架之上,因此我设置以下内容Android提升属性不工作,android,android-layout,Android,Android Layout,自从升级到sdk21以来,我一直在尝试使用elevation属性,但它似乎从来都不起作用 我想将一个框架提升到其他框架之上,因此我设置以下内容 android:elevation="4dp" 但是没有影子的迹象。我尝试过按钮和框架布局,但没有得到任何提升 这是完整的标签 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schema
android:elevation="4dp"
但是没有影子的迹象。我尝试过按钮和框架布局,但没有得到任何提升
这是完整的标签
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/panel_card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:elevation="4dp"
>
根据Z=标高+平移Z,我是否缺少需要添加的其他内容
所以试试这个:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/panel_card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:elevation="4dp"
android:translationZ="4dp">
确保容纳FrameLayout的容器的背景不是透明的。您需要向其添加背景,例如:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/panel_card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="4dp"
android:background="@drawable/dialog_background">
而不是使用白色。否则阴影就不起作用了。另外,是否不需要使用android:translationZ属性,因为这只会添加到立面中,但如果不需要动画,则不需要使用该属性。这可能是90%的立面在视图中没有显示问题,在不指定背景的情况下,将忽略高程和translationZ属性。这应该是公认的答案,因为它解决了大多数问题。您还应该检查要提升的项目上的android:elevation android:translationZ,父项上的cliptoppadding将帮助android:translationZ仅用于动画。高度=标高(静态值)+平移Z(动画值)