0
点赞
收藏
分享

微信扫一扫

Android elevation使用

权重
FrameLayout里面,后写的View会覆盖之前写的View上面,例如:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="300dp"
android:layout_height="300dp"
android:background="#ff0000">

<View
android:layout_width="200dp"
android:layout_height="200dp"
android:background="#00ff00" />

<View
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#0000ff" />
</FrameLayout>

Android elevation使用_android

如果我们给被压在下面的绿色view,增加​​android:elevation="1dp"​​,完整代码如下:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="300dp"
android:layout_height="300dp"
android:background="#ff0000">

<View
android:layout_width="200dp"
android:layout_height="200dp"
android:background="#00ff00"
android:elevation="1dp" />

<View
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#0000ff" />
</FrameLayout>

我们会看到蓝色不见了
Android elevation使用_权重_02

elevation起到了权重的作用,而且,每一个View的默认权重都是0dp,如果把绿色的设置成1dp,相当于在这个View的权重就提高了,就显示到最上面的了

阴影
一个正常情况下的View
Android elevation使用_权重_03
当我们增加了elevation属性后

<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#000000"
android:elevation="30dp"
/>

Android elevation使用_权重_04
能明显看到有个阴影

在Material Design主题当中给UI元素引入了高度的概念,视图的高度由属性Z来表示,决定了阴影的视觉效果,Z越大,阴影就越大且越柔和。但是Z值并不会影响视图的大小


举报

相关推荐

0 条评论