2014-06-26 224 views
27

我們正在重新設計我們的Android應用,考慮到即將推出的Android L平臺及其材質風格,問題不斷上升:支持舊設備的方式有哪些?這種新設計在4.x設備上可以接受嗎?支持Android材質設計

+5

問這樣的問題可能爲時過早 – Egor

+2

今年26日晚些時候將有Android L的SDK。你將有時間找出答案。無論如何,我聞到一個100k訪問問題 – Korcholis

+0

google.com/design那裏已經有一些關於材料設計的信息。 /編輯:對於網頁,已經有聚合物實現 - > polymer-project.org – ternes3

回答

22

根據Android Material Design compatibility docs

我要在這裏重複櫃面材料的鏈接被取下來,它會在不久的將來,其中最有可能。

爲素材的主題

材料的主題是隻在Android L版開發者預覽 可用。要配置您的應用程序使用上運行的Android L移動開發者預覽設備 材料的主題,運行Android的早期版本的設備 舊的主題:

在 定義從一箇舊的主題繼承(如全息)主題RES /值/ styles.xml。使用res/values-v21/styles.xml中的材質主題定義一個具有繼承 的相同名稱的主題。在清單文件中將此主題設置爲您應用的主題 。

至於佈局

如果你根據材料設計,設計佈局 準則不使用任何新的XML從Android L移動 開發者預覽版的屬性,他們將在前期工作Android版本。 否則,您可以提供替代佈局。您還可以提供 替代佈局,以定製您的應用在早期的Android版本 上的外觀。

在res/layout /中爲 res/layout-v21 /和Android的早期版本 創建Android L開發人員預覽版的佈局文件。備選佈局具有相同的文件 名稱。

爲避免代碼重複,請在res/values/ 中定義樣式,並修改res/values-v21 /中用於新API的樣式。

對於UI部件

的RecyclerView和CardView部件都包含在Android L移動 開發者預覽版支持庫,所以他們在早期 Android版本的這些限制可供選擇:

CardView使用 附加填充符號可以回到編程陰影實現。 CardView不會剪裁其與圓角相交的兒童視圖。這些限制不適用於Android L Developer Preview的 。

,最後的動畫

以下新的API僅適用於Android L移動開發者 前瞻:

活動的轉變,觸摸反饋,顯示動畫,基於路徑的 動畫。爲了保持與Android早期版本的兼容性, 請在調用這些API之前在運行時檢查系統版本。

2

的V7支持庫R21以上包括下列材料設計特點:對於某些系統部件

  • 材質設計風格,當你申請的Theme.AppCompat主題 之一。

  • Theme.AppCompat主題中的調色板主題屬性。

  • RecyclerView小部件顯示數據集合。
  • 用於創建卡片的CardView小部件。 Palette類從圖像中提取 突出的顏色。

以下功能僅在的Android 5.0(API級21)和上述可用:

  • 活動轉變

  • 觸摸反饋

  • 顯示動畫

  • 基於路徑的動畫

  • 矢量繪圖資源

  • 可繪製着色

因此,你可以使用可用於觸摸反饋一些第三方庫。並且可以使用自定義活動過渡動畫。我已經完成了自定義活動轉換動畫。你可以在這個link 上找到我的應用。你可以在自定義活動轉換中找到devebyte的youtube視頻。

0

支持庫包含許多使用新材料設計的組件,特別是自設計支持庫發佈以來。作爲第一步,使用Theme.AppCompat(以及類似的),你將會在路上。零件在您的build.gradle包括有:

compile 'com.android.support:support-v13:{{VERSION}}' 
compile 'com.android.support:cardview-v7:{{VERSION}}' 
compile 'com.android.support:recyclerview-v7:{{VERSION}}' 
compile 'com.android.support:design:{{VERSION}}' 

22.2.0或更高版本。

還檢查出AppCompat v21 — Material Design for Pre-Lollipop DevicesAndroid Design Support Library