我应该在什么情况下使用
android:elevation
和 app:elevation
?这两者有何区别?android:elevation
和 app:elevation
?这两者有何区别?希望我可以帮助你,让我们通过一个例子来谈谈:
<android.support.design.widget.FloatingActionButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
...
android:elevation="@dimen/elevation_medium"
/>
android:elevation
属性只在API级别21及以上版本中有效。attribute
<android.support.design.widget.FloatingActionButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
...
app:elevation="@dimen/elevation_medium"
/>
在这种情况下,app:elevation
属性属于 FloatingActionButton
样式中的一个,该样式在 Android Design Support Library 中,将在框架的版本 4 及以后的版本中使用,而不是像 android:elevation
一样只能在版本 21 中使用。app:elevation
- 如果您正在使用支持库(用于支持旧版Android)
android:elevation
- 如果您没有使用支持库
app:elevation
,但 ViewCompat.setElevation(View view, float elevation);
是有效的。 - Weekend还有一件事:
<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"/>
app
中使用FloatingActionButton
后,可以看到该按钮。
<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: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"
android:elevation="8dp"
app:behavior_hideable="true"
app:behavior_peekHeight="100dp"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"/>
在使用android
中,如果底部面板叠在上面,FloatingActionButton
会变得不可见。
建议对FAB进行相应的位置调整,以便更好地显示。
"Original Answer"翻译成:"最初的回答"