未知属性android:elevation

时间:2014-12-09 18:01:00

标签: android android-xml android-button

我正在尝试按照一个教程来假设如何添加一个浮动按钮,并在教程中说它将属性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有关...可以有人帮助我吗?

2 个答案:

答案 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。

Material Design

您可以在API级别21上使用它,我猜您的目标级别低于此值。

如果您只想实现一些阴影,可以使用它:

Shadow Drawables for Views

或者您可以将SupportLibrary与CardViews或类似的东西一起使用,它们支持API级别7的提升:

[How-to] Use the v21 Support Libs on Older Versions & Target L While Remaining Backwards-Compatible

希望这有帮助。