2014-07-08 18 views
18

Đọc phần Tương thích của Android L Developer Preview (http://developer.android.com/preview/material/compatibility.html) Tôi đã thấy rằng tôi có thể tạo APP bằng L-sdk và cũng có thể chạy trên sdk cũ hơn (như KitKat) .Sử dụng Android L Material Design trên KitKat

Tôi đã tạo một dự án mới bằng cách sử dụng Android L sdk và được định cấu hình "build.gradle" như đã nói trong bài đăng này: Android Studio : Failure [INSTALL_FAILED_OLDER_SDK].

Tôi đã thử cả hai cấu hình:

  • một trong những đề xuất trong câu hỏi đó mang lại cho tôi lỗi này:

    pkg: /data/local/tmp/com.example.{my user name}.materialapp Failure [INSTALL_FAILED_OLDER_SDK]

  • và một trong những đề xuất trong câu trả lời đó mang lại cho tôi lỗi trên

    <style name="AppTheme" parent="android:Theme.Material.Light"></style>

Tôi đã tìm kiếm câu hỏi khác trên StackOverflow nhưng tôi không thể tìm thấy giải pháp nào.

SOLUTION: Android L preview phong cách vật liệu có thể được sử dụng trên các thiết bị chạy Android L. Các "tương thích" chỉ là một bản xem trước và nó không được kích hoạt.

Trả lời

11

Bạn phải tạo 2 tệp styles.xml khác nhau có cùng tên mà bạn sẽ đặt trong các thư mục khác nhau.

Đầu tiên, sẽ đi ở đây:

res/styles.xml 

và sẽ xem xét KHÔNG có một tham chiếu đến chủ đề Chất liệu (sử dụng chủ đề Holo):

như vậy sẽ có một cái gì đó như thế này:

<style name="AppTheme" parent="android:Theme.Holo.Light"></style> 

Thứ hai sẽ chuyển đến đây:

res/values-v21/styles.xml 

và SẼ chứa tham chiếu đến chủ đề Chất liệu mới, và sẽ có:

<style name="AppTheme" parent="android:Theme.Material.Light"></style> 

Khung Android sẽ tự động sử dụng đúng tùy thuộc vào API hỗ trợ thiết bị (vân vân API 21 thiết bị nó sẽ sử dụng vật liệu và trên tất cả các thiết bị khác, nó sẽ sử dụng bất kỳ thứ gì khác mà bạn xác định).

+1

Tôi đã có 2 styles.xml khác nhau: một trong các giá trị và một trong các giá trị-v21. Nhưng nếu tôi cố gắng triển khai ứng dụng trên Nexus 5 của tôi (với 4.4.4) nó bị treo trên android: Theme.Material.Ánh sáng – Luca

+0

Cả hai đều được đặt tên là "AppTheme" không có lỗi chính tả hoặc cha mẹ khác nhau? – Booger

+1

Không có lỗi chính tả. Cùng cha mẹ. – Luca

1

Điều này đã thay đổi kể từ câu trả lời ban đầu, khi Google phát hành hỗ trợ tốt hơn cho thiết kế Material trong thư viện AppCompat (hỗ trợ hầu hết các phiên bản Android).

Tại thời điểm này, bạn nên sử dụng các thư viện này cho mọi phát triển, khi đó bạn sẽ có thể hỗ trợ các tính năng liên quan đến thiết kế Material design trong tất cả các ứng dụng của mình.

Dưới đây là làm thế nào để thiết lập nó: https://developer.android.com/topic/libraries/support-library/setup.html

Các vấn đề liên quan