Android5.0新特性-Material Design

概述

2014年,Google攜Android5.X重裝歸來。全新的UI設計和更加優化的性能,令開發人員眼前一亮css

安裝和配置Android5.0開發環境

開發Android還得靠AS。下載地址
http://developer.android.com/intl/zh-cn/sdk/index.html
這裏寫圖片描寫敘述html

材料設計概述

材料的形態模擬

Google經過模擬天然界紙墨的形態變化、光線與陰影、紙與紙之間的控件層級關係,帶來一種真實的空間感java

更加真實的動畫

Android5.x大量添加了各類新的動畫效果,讓整個設計風格更加天然和諧。android

大色塊的使用

Material Desigin中運用了大量高度飽和、適中亮度的大色塊來突出界面的主次,並一掃Android4.X系列Holo主題的沉重感。讓界面更加富有時尚感和視覺衝擊力windows

此外還有很是多新的設計風格,如懸浮button,聚焦大圖、無框button、波紋效果等新特性
詳細可參考
http://www.google.com/design/#resourcesbash

材料設計能作哪些工做

  • 保證向後的兼容性
  • 使用材料設計的主題
  • 讓視圖產生陰影
  • 使用RecyclerView和CardView
  • 定製動畫

intel x86模擬器

下載和安裝intel x86模擬器加速器

以前的ARM模擬器,是以軟件的形式模擬,因此很是慢~x86可以選這使用宿主機器的GPU等,和真機的速度相差無幾~markdown

如下更新SDK使用了國內的代理。需要的童鞋可以看下
這裏寫圖片描寫敘述app

下載

打開SDK Manager
這裏寫圖片描寫敘述svg

install 以後
這裏寫圖片描寫敘述佈局

安裝

找到SDK例如如下文件夾,因爲這個加速器是跨平臺的,windows操做系統相應的是exe執行文件,安裝就能夠
這裏寫圖片描寫敘述

這裏寫圖片描寫敘述

固然你也可以使用genymotion~有真機最好了~

從官方下載x86模擬器加速器

除了從SDK中下載,還可以從Intel官方站點上下載加速器

官網例如如下:
https://software.intel.com/zh-cn/android

https://software.intel.com/zh-cn/android/articles/intel-hardware-accelerated-execution-manager/

這裏寫圖片描寫敘述

檢測 Intel X86模擬器加速器是否成功安裝

這裏寫圖片描寫敘述

cmd命令行窗體:

這裏寫圖片描寫敘述

安裝x86模擬器鏡像

儘管咱們上面安裝了加速器。但是僅僅是模擬器而已,鏡像纔是關鍵!

!!

從SDK中直接安裝

官方推薦的安裝方法

因爲個人電腦操做系統是64位。咱們打算在5.0的模擬器中使用,因此選擇例如如下:
這裏寫圖片描寫敘述

從Intel官方下載安裝

https://software.intel.com/zh-cn/android/articles/android-44-kitkat-x86-emulator-system-image

這裏寫圖片描寫敘述

指導文檔

下載後放到相應的文件夾就能夠~

體驗以x86模式執行Android模擬器

這裏寫圖片描寫敘述

都是默認選項,選擇使用宿主機器的GPU~
這裏寫圖片描寫敘述

哈哈 速度那是必須的快~

Material主題

Material Design現在有三種默認的主題可以設置:

  1. @android:style/Theme.Material (dark version)
  2. @android:style/Theme.Material.Ligh (ligth version)
  3. @android:style/Theme.Material.Ligh.DarkActionBar

同一時候 Android5.x提出了Color Palette (顏色調色板)的概念。讓開發人員可以本身設定系統區域的顏色。使整個APP的顏色風格和系統的顏色風格保持一致。

經過例如如下代碼,可以經過使用本身定義Style的方式來建立本身的Color Palette 顏色主題,從而實現不一樣的顏色風格。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="android:Theme.Material"> <!--appBar的顏色--> <item name="android:colorPrimary">#BEBEBE</item> <!--狀態欄的顏色--> <item name="android:colorPrimaryDark">#FF5AEBFF</item> <item name="android:navigationBarColor">#FFFF4130</item> <item name="android:colorAccent">#BF3EFF</item> </style>
</resources>

這裏寫圖片描寫敘述
這裏寫圖片描寫敘述

RecyclerView

詳見本人還有一篇博客 RecyclerView全然解讀


立體卡片CardView

詳情請查看鄙人CradView的使用


視圖和陰影

Material Design的一個很是重要的特性就是擬物扁平化。


這裏寫圖片描寫敘述

影響視圖陰影的因素

以往的Android View一般有2個屬性——X和Y,而在Android5.X中,Google爲其添加了一個新的屬性 —Z,相應垂直方向上的高度變化。

在Android5.x中,View的Z值由 elevation + translationZ(這兩個都是5.x引入的新特性)組成。

當中 elevation是靜態的成員,translationZ可以在代碼中使用來實現動畫的效果。

Z = elevation + translationZ

經過佈局文件和Java代碼設置視圖的陰影

經過佈局文件設置

在xml中設置View的視圖高度

android:elevation="Xxdp"

比方:

<TextView  android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/cardview_contents" android:elevation="10dp" />

經過Java代碼設置

view.setTranslationZ(XXX)

一般也會使用屬性動畫來爲視圖高度改變的時候添加一個動畫效果

if(flag){
    view.animate().translationZ(100);
    flag=false;
}else{
    view.animate().translationZ(0);
    flag=true;
}

陰影拖動


視圖裁剪

着色

ripple_drawable資源

矢量drawable資源

在Android中使用SVG矢量圖

SVG設計器

實現SVG矢量動畫

APP的兼容性

相關文章
相關標籤/搜索