9159金沙官网-9159金沙游艺场官网-金沙国际官网

咨询热线:023-67611227

24小时热线:13372636650

新闻中心

9159金沙

产品方案

服务项目

开发案例
新闻资讯
联系我们

【Android】Material Design设计中的阴影效果

2020/02/06  来源:9159金沙官网

Material Design 的一个很重要的特点就是拟物扁平化。以往的Android View通常具有两个属性,X和Y,而在Android5.X中,Google为其增加了一个新的属性:Z,对应垂直方向上的高度变化。

想象有一束斜光投向屏幕,Z 轴值越大,离光就越近,阴影的范围就越大;Z 轴值越小,离光就越远,阴影的范围就越小。而:

Z=elevation+ translationZ

Elevation是静态的成员,translationZ可以在代码中使用来实现动画效果。

通过在XML布局中使用如下代码来静态设置View的视图高度。

 

android:elevation="Xdp"

 

通过下面的代码,演示了不同视图高度所显示效果的不同,XML代码如下所示:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:gravity="center_horizontal"

    android:orientation="vertical"

    android:padding="10dp"

tools:context=".MainActivity">

 

    <TextView

        android:id="@+id/tv_1"

        android:layout_width="100dp"

        android:layout_height="100dp"

        android:layout_margin="10dp"

        android:background="#ff0000" />

    <TextView

        android:id="@+id/tv_2"

        android:layout_width="100dp"

        android:layout_height="100dp"

        android:layout_margin="10dp"

        android:background="#ff0000"

        android:elevation="2dp" />

    <TextView

        android:id="@+id/tv_3"

        android:layout_width="100dp"

        android:layout_height="100dp"

        android:layout_margin="10dp"

        android:background="#ff0000"

        android:elevation="10dp" />

 

</LinearLayout>

效果如下图所示:

在程序中,同样可以使用如下代码来改变视图的高度:

view.setTranslationZ(XXX);

 

通常也会使用属性动画来为视图高度改变的时候增加一个动画效果,代码如下:

if (flag1) {
    tv1.animate().translationZ(100);
} else {
    tv1.animate().translationZ(0);
}
flag1 = !flag1;

 

在引入了elevation这个属性之后,主要影响有两个:

1、影响View的阴影

Z值会对View的阴影外观造成影响,但是不是对View大小造成影响。


2、影响View相互阻挡顺序

拥有更大Z值的View会挡住Z值比较小的View——即更大Z值的View会在最上层。

 

注意:

1. 控件必须设置背景色,且不能为透明。

2. 阴影是绘制于父控件上的,所以控件与父控件的边界之间需有足够空间绘制出阴影才行。

3. 图片尽量使用.png, 防止图片过大导致oom或者elevation失效

4.background是图片时、background直接设置具体颜色值时容易无效如:#ffaacc,background是shape时效果最好

5.设置elevation的View最好是ViewGroup子类

 

 

9159金沙官网www.trustdavidmoody.com

怎么做一款多商户商城APP开发?

现在的互联网电商平台多种多样,特别是现在的移动互联网发展,智能手机的普及使得

app外包公司:分析app用户流失

app外包公司称app用户是我们开发APP最大的动力,当app受到大众欢迎时,也是app开发公司

低价制作手机APP怎么样

手机APP作为传递商品信息的重要手段,正在被广泛应用于各大商业活动中。随着互联网

点击我更换图片

公司地址:

重庆市渝北区冉家坝时光城写字楼

联系方式:

023-67611227

13372636650(24h热线)

重庆市渝北区冉家坝时光城写字楼

© 2020 9159金沙官网

渝ICP备15006414号-2      渝公网安备 50011202502110号