建立Material Design風格的Android應用--定義陰影和裁剪視圖,materialandroid

來源:互聯網
上載者:User

建立Material Design風格的Android應用--定義陰影和裁剪視圖,materialandroid

之前已經寫過通過應用主題和使用ListView, CardView,應用Material Design樣式,同時都都可以通過support library向下相容。今天要寫的陰影和視圖裁剪,無法向下相容,請注意。

Material Design 為使用者介面元素引入了深度這個元素。深度協助使用者理解各個元素之間的重要關聯和協助使用者關注他們手上的任務。

視圖的高度(elevation),通過Z屬性工作表現,通過他的陰影確定:z值更高的視圖投影出更大的陰影。視圖只在Z=0的平面上投影處陰影;他們不會投影陰影在其他放在下面的視圖上面和高於z=0的平面。

有更高Z值的視圖擋住Z值較低的視圖。無論如何,Z值不會影響到View的大小。

高度也是有用的,當在執行一些動作的時候建立動畫讓組件升起。

為視圖分配高度

一個View的Z值有兩個組成部分,elevation(高度)translation(平移).elevation是一個靜態部分,translation 用於動畫:

Z = elevation + translationZ


不同高度的視圖的陰影

在布局檔案中設定evelation 使用android:elevation,在代碼中使用View.setElevation()方法。
設定一個視圖的平移,使用View.setTranslationZ()方法。

新的方法ViewPropertyAnimator.z()ViewPropertyAnimator.translationZ()可以讓你更容易的變動視圖的高度。更多的資訊,看ViewPropertyAnimator的Api文檔http://developer.android.com/reference/android/view/ViewPropertyAnimator.html。和屬性動畫的開發指南:http://developer.android.com/guide/topics/graphics/prop-animation.html。

你也可以使用StateListAnimator方式定義這些檔案在xml檔案中。特別適用於,狀態改變時執行的動畫,比如使用者點擊按鈕。更多資訊,請看動畫檢視狀態改變,下次在動畫一節講。
Z值在測量上使用和X,Y值一樣的單位。

自訂視圖陰影和輪廓

視圖的背景邊界決定了陰影的預設圖案。輪廓(Outlines)代表了繪圖物件的外形狀,並確定了對觸摸反饋區的波紋。

看這個視圖,定義一個背景Drawable:

<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>

當這個背景drawable作為視圖的輪廓,視圖投射出圓角陰影。提供一個自訂的輪廓,可以覆蓋預設視圖陰影的形狀。

在自己的代碼中自訂一個輪廓:

1.繼承ViewOutlineProvider類
2.重寫getOutline()方法
3.在視圖中設定輪廓,使用View.setOutlineProvider()方法

你可以建立橢圓和圓角矩形輪廓使用OutLine類中的方法。視圖預設的outline provider會根據視圖的背景來產生輪廓。可以設定視圖的outline provider為null,來阻止投射陰影。

 裁剪視圖

裁剪視圖功能,可以讓你更容易的改變視圖的形狀。你可以裁剪視圖為了和其他的設計項目保持一致,或者改變成形狀響應使用者的輸入。你可以裁剪一個視圖的輪廓使用View.setClipToOutLine()方法,或者android:clipToOutline屬性。只有矩形,圓角矩形,圓圈的輪廓支援被裁剪,可以使用Outline.canClip()方法檢測是否支援被裁剪。

裁剪視圖到一個drawable的形狀,設定drawable作為視圖的背景(讓視圖顯示在其上),並且調用View.setClipToOutline()方法。

裁剪視圖是一個耗費的操作,裁剪視圖時不要使用形狀動畫。達到這種效果,請使用Reveal Effect 動畫(下節講)。

 總結

上面可以看到,設定陰影很簡單:

  1. 設定eleavation值。
  2. 添加背景或者設定一個outline.

參考資料:http://developer.android.com/training/material/shadows-clipping.html

原文地址:http://blog.isming.me/2014/10/26/creating-app-with-material-design-three-shadows/,轉載請註明出處。


android裡,當子視圖需要的畫布比父視圖大時,超出部分怎才不會被裁剪

關注一下
 
跪怎製作PPT的教程

ppt基礎知識及提示
PowerPoint軟體是教師製作課件的主要工具之一。下面介紹了ppt的一些基礎知識及提示,僅供初學課件製作者參考 。
一、PPT的啟動和退出
1、開啟方法:
方法一 :單擊案頭[開始] 按鈕,選擇“程式”→“Microsoft Office”→“Microsoft Office PowerPoint 2003”。這是一種標準的啟動方法。
方法二: 雙擊案頭捷徑表徵圖“Microsoft Office PowerPoint ....”。這是一種快速的啟動方法。
2、退出方法:
方法一:單擊視窗右上方的“× ”。
方法二: 關閉所有簡報並退出PPT
單擊菜單“檔案”→“退出”。
二、投影片版式的選擇
在右側投影片版式中選擇並單擊需要的版式。教師在實際的課件製作過程中,希望能夠自己設計範本,這時可採用“內容版式”中的“空白”版式,進行自由的創作。
三、有關投影片的各種操作
應用PPT進行設計的簡單過程是:首先按照順序建立若干張投影片,然後在這些投影片上插入需要的對象,最後按照投影片順序從頭到尾進行播放(可以為對象建立超級連結來改變投影片的播放順序)。
投影片在PPT設計中處於核心地位,有關投影片的操作包括投影片的選擇、插入、刪除、移動和複製,這些操作既可以在“普通視圖”下進行,也可以在“投影片瀏覽視圖”下進行。下面以“普通視圖”為例,介紹有關投影片的各種操作。在“普通視圖”下,PPT主視窗的左側是“大綱編輯視窗”,其中包括“大綱”和“投影片”兩個標籤,點擊“投影片”標籤,這時將顯示當前簡報內所有投影片的縮圖,每張投影片前的序號表示它在播放時所處的順序,通過拖動捲軸可顯示其餘投影片,有關投影片的操作在該地區進行。

1、投影片的選擇
有許多操作的前提都要求先選擇投影片,對投影片的選擇包括單選(選擇一張投影片)和多選(同時選擇多張投影片),其中多選又包括連續多選(相鄰的多張投影片)和非連續多選(不相鄰的多張投影片),操作方法如下:
(1) 單選:單擊需要選定的投影片縮圖(如:左側黃色方框裡的投影片尾縮圖),縮圖出現藍色框線,該投影片被稱作“當前投影片”。
(2)連續多選:先單擊相鄰多張投影片的第一張,然後按住Shift鍵,單擊最後一張。
(3) 非連續多選:先單擊某張投影片,然後按住Ctrl鍵,單擊需要選擇的投影片。
2、投影片的插入
在設計過程中感到投影片不夠用時,就需要插入投影片。插入投影片有四種方法,分別是:
方法一: 先選擇某張投影片,然後單擊菜單“插入”→“新投影片”,當前投影片之後被插入了一張新投影片。
方法二: 先選擇某張投影片,然後單擊格式工具列的“新投影片”按鈕,當前投影片之後被插入了一張新投影片。
方法三:右擊某張投影片,然後選擇快顯功能表中的“新投影片”項,該張投影片之後被插入了一張新投影片。
方法四:先選擇某張投影片,然後按“斷行符號”鍵,當前投影片之後被插入了一張新投影片。
3 投影片的刪除
若某張(些)投影片不再有用,就需要刪除投影片。刪除投影片有三種方法,分別是:
方法一 :選擇欲刪除投影片(可以多選),然後按鍵盤上的“Delete”鍵,被選投影片被刪除,其餘投影片將順序上移。
方法二:選擇欲刪除投影片(可以多選),然後選擇菜單“編輯”→“剪下”,被選投影片被刪除,其餘投影片將順序上移。
方法三 : 右擊欲刪除投影片(可以多選),然後選擇快顯功能表中的“刪除投影片”項,被選投影片被......餘下全文>>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.