Material design之Views and Shadows

Views and Shadows:

  elevation是構成控件陰影的基本屬性。經過設置較高的Z值能夠接受更大的陰影,陰影只能投射到Z=0的平面上。android

View Elevation

  控件的Z值,是由兩個值組成的:高度和位移。高度是固有的屬性,位移能夠用於建立動畫。佈局

  Z = elevation + translationZ動畫

  改變elevation的方法:spa

  • 在佈局中經過屬性改變:android:elevation
  • 在代碼中改變屬性:View.setElevation

  新的 ViewPropertyAnimator.z 和 ViewPropertyAnimator.translationZ方法可讓你很簡單的code

爲控件建立一些動畫。
xml

Shadows and Outlines

  控件背景圖的邊緣,會默認做爲這個控件的陰影。Outlines 會根據控件的形狀來生成陰影,並生成觸摸反饋效果。blog

  用於控件的背景圖,也會用於生成陰影圖。圖片

  下面是一個例子:ip

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

  背景圖:io

<!-- 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裁剪的圖片設置爲控件的陰影圖片。

相關文章
相關標籤/搜索