Android XML:android:elevation vs. app:elevation

Kit*_*ion 27 android android-layout android-xml android-5.0-lollipop android-5.1.1-lollipop

我什么android:elevation时候使用app:elevation?何时使用?

这两者有什么区别?

sau*_*lmm 21

希望我能提供帮助,让我们来谈一个例子:

<android.support.design.widget.FloatingActionButton
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    ...
    android:elevation="@dimen/elevation_medium"
    /> 
Run Code Online (Sandbox Code Playgroud)

android:elevation属性将从API级别21和更高级别开始工作.

<android.support.design.widget.FloatingActionButton
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    ...
    app:elevation="@dimen/elevation_medium"
    /> 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,app:elevation属性属于可设置FloatingActionButton样式的Android设计支持库,该将从框架的第4版开始工作,而不是第21版android:elevation.

  • AppBarLayout具有app:elevation属性,但仍然无效.好像它在最近的支持库更新中消失了. (2认同)

Ily*_*kov 17

app:elevation- 如果您使用支持库(用于支持旧版本的Android) android:elevation- 如果您不使用支持库

  • 请注意,这不适用于所有ViewGroup.例如,我正在使用支持库,但我无法使用app:抬高工具栏. (3认同)
  • 我也不能在LinearLayout上使用`app:elevation`.但是`ViewCompat.setElevation(View view,float elevation);`有效. (3认同)