2015-02-11 29 views
2

許多Material Design UI(如果不是全部都取決於陰影)。但不幸的是,提升屬性只存在於棒棒糖設備上。那麼,如果在棒棒糖構建版本上沒有提供像陰影這樣簡單的事情,那麼如何爲您的應用程序創建一個一致的UI呢?如果提升屬性在前棒棒糖設備上不可用,則如何創建一致的Material Design UI

當然也有一些解決方法,如創建每個佈局的兩個版本,採用九個補丁可繪製,使用CardView等,但它們都有一定的問題:

  1. 他們需要創建每個佈局的兩個版本,如果你不想使用棒棒糖API以及支持的設備。
  2. 很難實現具有不同形狀的自定義視圖。
  3. 對於每個視圖都需要單獨的drawable,將drawables文件夾弄亂。
  4. 陰影被視爲視圖本身的一部分,因此並排放置具有相同高程的視圖需要使用負邊距。

那麼創建材料設計用戶界面的解決方案是否可以在棒棒糖以及棒棒糖設備上運行?

回答

1

它可能不是理想的解決方案,但對於我來說,使用適用於所有Android版本的兼容性庫工作得很好。我擁有Android Gingerbread的Galaxy S,所以它非常古老,當然不支持陰影和漣漪。所以我寫了一個圖書館,支持我需要的所有東西。自從Cupcake(或Froyo - 我不確定)渲染任意形狀的實時陰影是可能的。漣漪很容易實現。因此,它是這樣的:

  1. 一個版本每個佈局
  2. 的支持任意形狀
  3. 沒有額外的可繪製
  4. 陰影被畫的佈局,而不是陰影投射。

其中一個問題是沒有那個新的渲染線程,所以例如當活動發生變化時波動動畫會滯後。

如果您想了解更多關於我的方法,請查看我的博客和github。 https://androidreclib.wordpress.com/https://github.com/ZieIony/Carbon

-1
+2

的據我所知支持庫不提供高程屬性。在本例中, – Suyash 2015-02-11 15:08:57

+0

高程正常工作。支持api級別在7以上。http://www.101apps.co.za/index.php/articles/android-s-recyclerview-and-cardview-widgets.html – Fahim 2015-02-14 03:11:05

+0

CardView標高不同於普通標高。仔細閱讀我的問題。我已經列出了使用CardView進行標高的問題(第2和第4點)。 – Suyash 2015-02-14 08:14:18

相關問題