我正在尝试按照一个教程来假设如何添加一个浮动按钮,并在教程中说它将属性android:elevation
添加到按钮xml中,如下所示:
<ImageButton
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/editButton"
android:layout_gravity="center|right"
android:clickable="false"
android:background="@drawable/edit_grey"
android:layout_marginRight="1dp"
android:elevation="@dimen/elevation_low"/>
但它不认识那个属性......我相信它与我的项目目标或sdk有关...可以有人帮助我吗?
答案 0 :(得分:18)
要使用android:elevation
,就像使用任何其他Android 5.0 API一样,您必须针对Android 5.0(API 21)进行编译。这并不意味着您必须更改目标SDK级别或最低SDK级别。
注意:您的XML文件可能仍会发出警告,android:elevation
仅适用于Android 5.0或更高版本。此警告只是告诉您以前版本的Android在浮动操作按钮上没有高程阴影。但是,这不会导致错误 - 以前版本的Android将忽略他们不理解的XML属性。
答案 1 :(得分:1)
Elevation属性非常新。它定义了应用视图的提升。它用于最新Android版本中的Material Design。
您可以在API级别21上使用它,我猜您的目标级别低于此值。
如果您只想实现一些阴影,可以使用它:
或者您可以将SupportLibrary与CardViews或类似的东西一起使用,它们支持API级别7的提升:
[How-to] Use the v21 Support Libs on Older Versions & Target L While Remaining Backwards-Compatible
希望这有帮助。