編輯:關於Android編程
View可以投下的陰影,一個View的elevation值決定了它的陰影的大小和繪制的順序。可以設置一個視圖的elevation,在布局中使用屬性:android:elevation
<TextView android:id="@+id/my_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/next" android:background="@color/white" android:elevation="5dp" />
新的translationz屬性使您能夠創建一個反映了暫時的elevation變化的動畫。elevation的變化可在響應觸摸手勢時可能是有用的。
每個View的elevation值,相當於z屬性,它決定了陰影的大小:z越大,陰影越大。
Views僅僅在z=0的平面上才會投影;它們不會投影在放置在它們下面和上面的的其他Views上。
使用較高z值的Views會阻隔使用較低z值的Views。
然而,一個View的Z值不會影響View的大小。
elevation有利於創建 在組件需要臨時上升到View的平面之上做一些操作時 的動畫。
更多關於elevation的介紹,詳見http://www.google.com/design/spec/what-is-material/elevation-shadows.html
Assign Elevation to Your Views 在Views中指定Elevation
Z值包含兩個成分:elevation和translation。elevation是一個靜態的成分,translation使用了動畫:Z = elevation + translationZ
在layout中設置elevation,使用android:elevation屬性。在代碼中設置,使用View.setElevation()方法。
設置一個View的translation,使用View.setTranslationZ()方法。
ViewPropertyAnimator.z()和ViewPropertyAnimator.translationZ() 能使你更輕易的推動Views的elevation。
您還可以使用一個StateListAnimator指定這些動畫聲明的方式。在狀態改變觸發動畫的情況下,這是特別有用的,比如當用戶按下一個按鈕時。
Customize View Shadows and Outlines 自定義View的陰影和輪廓
View的背影圖片的邊界確定了陰影的默認圖形。輪廓代表一個圖形對象的外部形狀和定義的用於觸摸反饋的波紋區域。
參考:
<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的輪廓(outline),所以View會投放一個使用了圓角的陰影。提供一個自定義的輪廓重寫View的默認陰影圖形。
自定義輪廓在代碼中:
使用Outline類的一些方法,創建圓角矩形和橢圓的輪廓。默認的outline provider 包含了View的背影輪廓。阻止一個View的投影,可以設置View的ouline provider 為null。
Clip Views 裁剪
剪裁視圖使您能夠輕松地更改視圖的形狀。你可以統一裁剪成使用了其他設計元素,或在響應用戶輸入時改變View的形狀。可以裁剪View的外部輪廓區域,使用View.setClipToOutline()或者android:clipToOutline屬性。只有矩形、圓形、圓角矩形支持輪廓的裁剪,由Outline.canClip()方法來確定。
當要裁剪成一個圖片的形狀時,需要設置該圖片為View的背景,並調用View.setClipToOutline()。
裁剪是一個奢侈的操作,不要使用動態圖形來裁剪。為了實現這種效果,可以使用動畫來展現。
Material Design是Google在2014年的I/O大會上推出的全新設計語言。Material Design是基於Android 5.0(API level
效果預覽簡要說明現在android程序網絡請求操作是必不可少的,然而擁有好的交互體驗的程序對網絡耗時操作的處理尤為重要。代碼說明:dialog_loading.xml&l
隨著微信的到來,二維碼越來越火爆,隨處能看到二維碼,比如商城裡面,肯德基,餐廳等等,對於二維碼掃描我們使用的是google的開源框架Zxing,我們可以去http://c
刷機是什麼意思?其實簡單來說就是給平板電腦重裝系統,當你的電腦遇到所有問題都可以使用刷機來解決,比如忘記密碼鎖、進不去系統等,使用刷機都可以輕松搞定,那麼我