zoukankan      html  css  js  c++  java
  • Material design之Views and Shadows

    Views and Shadows:

      elevation是构成控件阴影的基本属性。通过设置较高的Z值可以接受更大的阴影,阴影只能投射到Z=0的平面上。

    View Elevation

      控件的Z值,是由两个值组成的:高度和位移。高度是固有的属性,位移可以用于创建动画。

      Z = elevation + translationZ

      改变elevation的方法:

    • 在布局中通过属性改变:android:elevation
    • 在代码中改变属性:View.setElevation

      新的 ViewPropertyAnimator.z 和 ViewPropertyAnimator.translationZ方法可以让你很简单的

    为控件创建一些动画。

    Shadows and Outlines

      控件背景图的边缘,会默认作为这个控件的阴影。Outlines 会根据控件的形状来生成阴影,并生成触摸反馈效果。

      用于控件的背景图,也会用于生成阴影图。

      下面是一个例子:

    <TextView
        android:id="@+id/myview"
        ...
        android:elevation="2dp"
        android:background="@drawable/myrect" />

      背景图:

    <!-- res/drawable/myrect.xml -->
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
           android:shape="rectangle">
        <solid android:color="#42000000" />
        <corners android:radius="5dp" />
    </shape>

      可以在代码中通过View.setOutline方法设置阴影图片

    Clipping Views

      通过 View.setClipToOutline方法可以可以裁剪控件的轮廓。只支持矩形,圆形和椭圆。可以通过 Outline.canClip方法来检测是否支持裁剪。

      通过 View.setClipToOutline裁剪的图片设置为控件的阴影图片。

  • 相关阅读:
    同步的原则
    我心中的final
    令人"哇"的内部类(一)内部类的设计意义
    令人"哇"的内部类(三)嵌套类
    共享资源问题的解决方案(一)加锁机制
    令人"哇"的内部类(二 )内部类访问外围类
    volatile关键字
    同步控制块
    高质量C++/C 编程指南一
    5、数据表的创建与更新(续)
  • 原文地址:https://www.cnblogs.com/qinghuaideren/p/3842468.html
Copyright © 2011-2022 走看看