web-dev-qa-db-fra.com

Android XML: Android: élévation vs application: élévation

Quand dois-je utiliser Android:elevation et quand app:elevation?

Quelle est la différence entre ces deux-là?

26
Kittion

J'espère pouvoir vous aider, parlons d'un exemple:

<Android.support.design.widget.FloatingActionButton
    Android:layout_height="wrap_content"
    Android:layout_width="wrap_content"
    ...
    Android:elevation="@dimen/elevation_medium"
    /> 

Le Android:elevationattribut fonctionnera à partir de l'API niveau 21 et supérieur.

<Android.support.design.widget.FloatingActionButton
    Android:layout_height="wrap_content"
    Android:layout_width="wrap_content"
    ...
    app:elevation="@dimen/elevation_medium"
    /> 

Dans ce cas, le app:elevation l'attribut appartient au FloatingActionButton styleable, à l'intérieur de Android Design Support Library qui fonctionnera à partir de la version 4 du framework, au lieu de la version 21, le cas de Android:elevation.

20
saulmm

app:elevation - si vous utilisez la bibliothèque d'assistance (pour prendre en charge les anciennes versions d'Android) Android:elevation - si vous n'utilisez pas la bibliothèque de support

16
Ilya Tretyakov

Il y a encore une chose:

<com.google.Android.material.floatingactionbutton.FloatingActionButton
    Android:id="@+id/fab"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_gravity="bottom|end"
    Android:layout_margin="@dimen/spacing"
    Android:src="@drawable/svg_my_location"
    app:elevation="4dp" />

<androidx.constraintlayout.widget.ConstraintLayout
    Android:id="@+id/bottomSheet"
    Android:layout_width="match_parent"
    Android:layout_height="200dp"
    Android:background="@drawable/shape_rect_round_white"
    app:elevation="8dp"
    app:behavior_hideable="true"
    app:behavior_peekHeight="100dp"
    app:layout_behavior="com.google.Android.material.bottomsheet.BottomSheetBehavior"/>

En utilisant appFloatingActionButton est visible

<com.google.Android.material.floatingactionbutton.FloatingActionButton
    Android:id="@+id/fab"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_gravity="bottom|end"
    Android:layout_margin="@dimen/spacing"
    Android:src="@drawable/svg_my_location"
    Android:background="4dp" />

<androidx.constraintlayout.widget.ConstraintLayout
    Android:id="@+id/bottomSheet"
    Android:layout_width="match_parent"
    Android:layout_height="200dp"
    Android:background="@drawable/shape_rect_round_white"
    Android:background="8dp"
    app:behavior_hideable="true"
    app:behavior_peekHeight="100dp"
    app:layout_behavior="com.google.Android.material.bottomsheet.BottomSheetBehavior"/>

Lorsque vous utilisez AndroidFloatingActionButton est invisible, car il se chevauche par la feuille inférieure

1
Andrey Turkovsky