【问题标题】:Unknown attribute android:elevation未知属性 android:elevation
【发布时间】:2015-02-07 17:48:24
【问题描述】:

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

【问题讨论】:

  • 您使用的是什么 API 级别?如果您使用低于 21,请将其更改为 21
  • 添加工具:targetApi="lollipop" 如果你不想要这个警告

标签: android android-xml android-button


【解决方案1】:

要使用android:elevation,就像使用任何其他 Android 5.0 API 一样,您必须针对 Android 5.0 (API 21) 进行编译。这并不意味着您必须更改目标 SDK 级别或最低 SDK 级别。

注意:您的 XML 文件可能仍会发出警告,指出 android:elevation 仅适用于 Android 5.0 或更高版本。此警告只是告诉您,以前版本的 Android 不会在浮动操作按钮上显示高度阴影。但是,这不会导致错误 - 以前版本的 Android 将忽略他们不理解的 XML 属性。

【讨论】:

    【解决方案2】:

    海拔属性是相当新的。它定义了它所应用的视图的提升。它用于最新 Android 版本中的 Material Design。

    Material Design

    你可以在 API Level 21 上使用它,我猜你的目标 Level 低于这个。

    如果你只是想实现一些阴影,你可以使用这个:

    Shadow Drawables for Views

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

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2023-01-04
      • 1970-01-01
      • 1970-01-01
      • 2019-03-22
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 2022-09-24
      • 2018-09-07
      相关资源
      最近更新 更多