2017-07-13 66 views
6

Trong studio android 3.0 khi chúng tôi tạo dự án, một thư mục có tên mipmap-anydpi-v26 được tạo tự động trong res directory. Những gì thực sự nó làm và tại sao chúng ta cần điều này. Làm thế nào chúng ta sẽ sử dụng điều này cho mục đích phát triển.Mipmap-anydpi-v26 trong thư viện res studio android 3.0

Ngoài ra, có hai tệp xml được tạo tự động trong thư mục này sau khi thiết lập dự án. Tại sao các tệp xml này nằm trong thư mục mipmap vì chúng ta biết chúng ta nên giữ tất cả tệp xml trong thư mục drawable thay vì mipmap.

+0

Tệp xml nào được tạo – tyczj

Trả lời

7

Android Studio 3 tạo một adaptive icon cho ứng dụng của bạn chỉ khả dụng trong SDK 26 trở lên. biểu tượng trình khởi chạy phải được đưa vào thư mục mipmap.

Nếu bạn nhìn vào biểu hiện của bạn, bạn có thể thấy rằng nó tham chiếu ic_launcher

android:icon="@mipmap/ic_launcher" 

nếu bạn nhìn vào thư mục mipmap của bạn, bạn thấy bình thường 5 icon launcher khác nhau của bạn sẽ được sử dụng cho bất cứ điều gì thấp hơn sdk 26. Đối với sdk 26 và lên nó sử dụng các tập tin từ thư mục xmlanydpi-v26 để tận dụng các biểu tượng thích nghi

<?xml version="1.0" encoding="utf-8"?> 
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> 
    <background android:drawable="@drawable/ic_launcher_background"/> 
    <foreground android:drawable="@mipmap/ic_launcher_foreground"/> 
</adaptive-icon> 
+0

Điều này có nghĩa là "biểu tượng thích ứng" của bạn chỉ cần được cung cấp ở một kích thước hình ảnh và kích thước tự động dựa trên dpi/độ phân giải hiện tại hay không đúng? Nếu trước đây, nơi tôi có thể đặt cặp biểu tượng thích ứng về mặt vật lý? Nếu sau này, điều này có nghĩa là tôi vẫn cần phải chia nhỏ hình ảnh thành nhiều kích cỡ và đặt chúng vào các thư mục tương ứng của chúng? (Tâm trí bạn tôi đang sử dụng Unity3d, vì vậy tôi không được hưởng lợi từ những gì Android Studio cung cấp tự động). – vargonian

+0

Bạn vẫn cần sử dụng các biểu tượng kích thước khác nhau nhưng chúng nằm trong thư mục mipmap trong thư mục dpi được tôn trọng – tyczj

+0

Cảm ơn. Tôi vẫn còn bối rối tại sao các thư mục "drawable-" chỉ được thay thế bằng các thư mục "mipmap-" tương đương. Mặc dù vậy tôi đã làm việc đó. – vargonian

1

tôi đã tìm thấy một lời giải thích về việc này, đây là một số bối cảnh:

Để thêm một biểu tượng thích nghi mà thay thế tất cả PNG trên API hơn 26 thiết bị, bạn sẽ thêm một file res/mipmap-anydpi-v26/ic_launcher.xml trông như thế này:

<adaptive-icon 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <background android:drawable="@drawable/ic_launcher_background"/> 
    <foreground android:drawable="@drawable/ic_launcher_foreground"/> 
</adaptive-icon> 

Bằng cách đặt nó trong thư mục mipmap-anydpi-v26, hệ thống tài nguyên sẽ sử dụng nó theo sở thích trên bất kỳ tệp nào trong các thư mục dpi khác (chính xác những gì bạn muốn, vì tệp này đang thay thế tất cả chúng) và nó chỉ nên được sử dụng trong các thiết bị API 26+.

+0

Thats chính xác câu trả lời của tôi là gì ..... – tyczj

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