2016-03-10 21 views
10

Tôi sẽ sử dụng tính năng vẽ vector cho biểu tượng thanh tác vụ và biểu tượng thông báo trên ứng dụng của tôi.Android vector drawable cho biểu tượng trình khởi chạy và các hình ảnh khác trên Android N

Với sự thông báo của Android N, một trong những tính năng quan trọng nhất của ông là Screen Phóng (trên Accessibility Improvements section). Một tính năng thú vị khác là Hỗ trợ nhiều cửa sổ (xem link nếu bạn muốn biết thêm thông tin).

Điều này có nghĩa là chúng ta cũng nên sử dụng vector drawable cũng cho biểu tượng trình khởi chạy và các hình ảnh khác được sử dụng trên ứng dụng?

Trả lời

16

Vector có thể vẽ không được hỗ trợ cho các biểu tượng trình khởi chạy. Tuy nhiên, bạn được khuyến khích sử dụng nó ở mọi nơi khác.

+0

Điều này vẫn chính xác? Tôi có thể sử dụng vector drawable như thế này: <ứng dụng android: biểu tượng = "@ drawable/mysvg_logo" ... Tôi thậm chí có thể nhìn thấy trên trên launcher. – rpattabi

+3

Nếu bạn đang sử dụng chuyển đổi vector tự động => PNG, nó sẽ hoạt động tốt. Nếu bạn chỉ chạy trên API 21+, nó có thể hoạt động tốt tùy thuộc vào nội dung của bạn và trình khởi chạy đang được sử dụng; tuy nhiên, tôi không nghĩ rằng Cửa hàng Play sẽ cho phép bạn tải lên APK có biểu tượng vectơ. – alanv

+1

Mâu thuẫn với điều đó, tôi không chỉ tìm thấy một số ứng dụng sử dụng biểu tượng vector (XML) làm biểu tượng trình khởi chạy, nhưng [hướng dẫn này] (https://google-developer-training.gitbooks.io/android-developer-fundamentals-course- các khái niệm/nội dung/vi/Đơn vị% 202/51_c_drawables, _styles, _and_themes.html # create-icons) thậm chí còn đề xuất nó. Vì vậy, nếu có bất kỳ nguồn (chính thức) nào để xác nhận hoặc từ chối tuyên bố của bạn, một liên kết sẽ được hoan nghênh. – Izzy

0

Dường như các bản vẽ vector hiện được hỗ trợ cho các biểu tượng trình khởi chạy. Gần đây tôi đã tải lên và xuất bản một app (đến alpha) với một vector có thể vẽ được dưới dạng biểu tượng laucher.

4

Bạn có thể sử dụng drawables vector như biểu tượng khởi chạy nếu bạn làm theo các bước sau:

  1. Nơi icon vector phóng dưới drawable thư mục. Bạn không thể đặt các đối tượng vẽ vector trong thư mục mipmap vì chúng sẽ chỉ hoạt động ở cấp API 21 trở lên. Như bạn có thể biết, nên đặt biểu tượng khởi chạy PNG dưới mipmap-<density> thư mục thay vì drawable-<density> thư mục, nhưng điều đó chỉ quan trọng nếu bạn tạo gói riêng cho từng mật độ vì trong trường hợp này, các thư mục drawable-<density> ngoại trừ thư mục cho mật độ hiện tại sẽ bị tước.

  2. Xóa vectorDrawables.useSupportLibrary = true trong mục build.gradledefaultConfig nếu bạn đặt trước đó. Điều này sẽ cho phép tạo PNG thời gian build cho các vector drawables cho các mức API thấp hơn 21. Nếu bạn không loại bỏ tùy chọn này, thuộc tính <application> sẽ tải biểu tượng Android "green robot" mặc định.

Tôi đã thử nghiệm trên thiết bị API cấp 16 và hoạt động hoàn hảo.

+0

Cảm ơn, tôi sẽ thử nó trong lần chạy nước rút tiếp theo của tôi. Tôi chỉ lo lắng một chút về khả năng tương thích, vì tôi nhắm mục tiêu 16 và 19 là SDK tối thiểu trong các dự án của mình. – JJ86

+0

@ JJ86 Tôi đã thử nghiệm nó trên thiết bị cấp API 16 và nó hoạt động hoàn hảo. – mixel

+0

Cảm ơn rất nhiều vì phản hồi của bạn! – JJ86

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