android:elevation
时间: 2024-01-10 22:02:14 浏览: 24
Android中的elevation是一个View的属性,它可以控制View在Z轴方向上的高度,即立体效果的呈现。通过设置elevation,可以让一个View在其他View之上浮现,从而实现立体效果的显示。在实现阴影效果时,elevation属性也是非常有用的。需要注意的是,使用elevation属性需要API Level 21及以上的版本支持。
相关问题
android:elevation 如何做到上边也有阴影
默认情况下,使用android:elevation设置View的阴影效果只会在View的下方显示阴影。如果需要让View的上方也显示阴影,可以在布局文件中使用android:outlineProvider属性。例如,可以使用以下代码实现上下都有阴影的CardView:
```
<androidx.cardview.widget.CardView
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:elevation="8dp"
android:outlineProvider="bounds">
<!-- CardView的内容 -->
</androidx.cardview.widget.CardView>
```
在这个例子中,我们使用了android:outlineProvider="bounds"来指定View的轮廓提供者为bounds,这样就可以让View的轮廓与View的边界一致,从而在View的上下两侧都显示阴影效果。需要注意的是,使用android:outlineProvider属性需要API Level 21及以上的版本支持。
android:id="@+id/rv_list" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginBottom="50dp" android:divider="#FFFFFF" android:background="@drawable/underline" android:dividerHeight="30dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@+id/areaState" android:layout_marginTop="4dp" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" android:clipToPadding="false" android:scrollbarStyle="outsideOverlay" android:paddingBottom="20dp" android:layoutDirection="rtl" android:layout_weight="1" android:paddingTop="8dp" android:elevation="8dp"
这是一个RecyclerView的布局代码,其中设置了对齐方式、分割线、背景、边距、padding等属性。其中app:layout_constraintBottom_toBottomOf="parent"表示该控件与父布局底部对齐,app:layout_constraintTop_toBottomOf="@+id/areaState"表示该控件与id为areaState的控件底部对齐,android:clipToPadding="false"表示不裁剪padding部分的内容,android:scrollbarStyle="outsideOverlay"表示滚动条在内容之上,android:layoutDirection="rtl"表示布局方向为从右到左,android:layout_weight="1"表示该控件在布局中所占比例为1:1。最后,android:elevation="8dp"可以设置控件的高度。