自升级到SDK 21以来,我一直在尝试使用提升属性,但似乎无法正常工作。
我想提升一个框架高于其他框架,所以我设置了以下
android:elevation="4dp"
但没有阴影的迹象。我尝试了按钮和framelayouts但没有任何提升
所以这里是完整的标签
<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"
>
我错过了我需要添加的其他内容
答案 0 :(得分:31)
确保持有FrameLayout的容器的背景不透明。
答案 1 :(得分:1)
根据this Z = Elevation + TranslationZ
所以试试这个:
<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">
答案 2 :(得分:1)
您需要为其添加背景,例如:
https://www.c-sharpcorner.com/article/simple-login-application-using-Asp-Net-mvc/
而不是使用白色。否则,阴影将不起作用。另外,也不必使用android:translationZ属性,因为它只会添加到高程中,但是如果您不想使用动画,则不需要。