<màn hình tương thích>

cú pháp:
<compatible-screens>
    <screen android:screenSize=["small" | "normal" | "large" | "xlarge"]
            android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"
                                   | "280" | "360" | "420" | "480" | "560" ] />
    ...
</compatible-screens>
có trong:
<manifest>
nội dung mô tả:
Chỉ định từng cấu hình màn hình tương thích với ứng dụng. Trong tệp kê khai chỉ được phép có một thực thể của phần tử <compatible-screens> nhưng thực thể này có thể chứa nhiều phần tử <screen>. Mỗi phần tử <screen> chỉ định một tổ hợp mật độ – kích thước màn hình cụ thể mà ứng dụng tương thích.

Hệ thống Android không đọc phần tử tệp kê khai <compatible-screens> vào bất cứ lúc nào. Phần tử này chỉ nhằm mục đích cung cấp thông tin và có thể được các dịch vụ bên ngoài (ví dụ như Google Play) sử dụng để hiểu rõ hơn về khả năng tương thích của ứng dụng với các cấu hình màn hình cụ thể, cũng như để cho phép người dùng lọc dữ liệu.

Mọi cấu hình màn hình không được khai báo trong phần tử này đều là màn hình mà ứng dụng không tương thích. Các dịch vụ bên ngoài (chẳng hạn như Google Play) không cung cấp ứng dụng cho các thiết bị có màn hình như vậy.

Thận trọng: Thông thường, bạn không nên sử dụng phần tử tệp kê khai này. Việc sử dụng phần tử này có thể làm suy giảm đáng kể cơ sở người dùng tiềm năng cho ứng dụng của bạn bằng cách ngăn người dùng cài đặt ứng dụng đó nếu họ có thiết bị dùng cấu hình màn hình mà bạn không liệt kê. Chỉ nên dùng phần tử này làm phương án cuối cùng, khi ứng dụng hoàn toàn không hoạt động được với các cấu hình màn hình cụ thể. Thay vì sử dụng phần tử này, hãy làm theo hướng dẫn hỗ trợ nhiều màn hình để cung cấp tính năng hỗ trợ có thể mở rộng cho nhiều màn hình bằng cách dùng các bố cục và bitmap thay thế cho nhiều kích thước và mật độ màn hình.

Nếu bạn muốn đặt kích thước màn hình tối thiểu cho ứng dụng, hãy dùng phần tử <supports-screens>. Ví dụ: nếu bạn chỉ muốn ứng dụng dùng được cho các thiết bị có màn hình lớn và cực lớn, thì phần tử <supports-screens> sẽ cho phép bạn khai báo rằng ứng dụng không hỗ trợ các kích thước màn hình nhỏ và bình thường. Sau đó, các dịch vụ bên ngoài như Google Play sẽ lọc ứng dụng của bạn cho phù hợp. Bạn cũng có thể dùng phần tử <supports-screens> để khai báo xem hệ thống có thể đổi kích thước ứng dụng đó theo nhiều kích thước màn hình hay không.

Để biết thêm thông tin về cách Google Play lọc các ứng dụng bằng phần tử này và các phần tử tệp kê khai khác, hãy xem bài viết Bộ lọc trên Google Play.

phần tử con:
<screen>

Chỉ định một cấu hình màn hình mà ứng dụng tương thích.

Bạn phải đặt ít nhất một thực thể của phần tử này trong phần tử <compatible-screens>. Phần tử này phải bao gồm cả thuộc tính android:screenSizeandroid:screenDensity. Nếu bạn không khai báo cả hai thuộc tính thì phần tử này sẽ bị bỏ qua.

Thuộc tính:

android:screenSize
Bắt buộc. Chỉ định kích thước màn hình cho cấu hình màn hình này.

Các giá trị được chấp nhận:

  • small
  • normal
  • large
  • xlarge

Để biết thông tin về nhiều kích thước màn hình, hãy xem bài viết Tổng quan về khả năng tương thích với màn hình.

android:screenDensity
Bắt buộc. Chỉ định mật độ màn hình cho cấu hình màn hình này.

Giá trị được chấp nhận:

  • "ldpi" (khoảng 120 dpi)
  • "mdpi" (khoảng 160 dpi)
  • "hdpi" (khoảng 240 dpi)
  • "xhdpi" (khoảng 320 dpi)
  • "280"
  • "360"
  • "420"
  • "480"
  • "560"

Để biết thông tin về nhiều mật độ màn hình, hãy xem bài viết Tổng quan về khả năng tương thích với màn hình.

ví dụ

Nếu ứng dụng của bạn chỉ tương thích với các màn hình có kích thước nhỏ và bình thường, bất kể mật độ màn hình, thì bạn phải chỉ định 12 phần tử <screen>, bởi vì mỗi kích thước màn hình có 6 cấu hình mật độ.

Bạn phải khai báo từng phần tử trong số này. Mọi tổ hợp kích thước và mật độ mà bạn không chỉ định sẽ được coi là cấu hình màn hình mà ứng dụng không tương thích. Sau đây là ví dụ minh hoạ mục nhập tệp kê khai nếu ứng dụng chỉ tương thích với các màn hình có kích thước nhỏ và bình thường:

<manifest ... >
    ...
    <compatible-screens>
        <!-- all small size screens -->
        <screen android:screenSize="small" android:screenDensity="ldpi" />
        <screen android:screenSize="small" android:screenDensity="mdpi" />
        <screen android:screenSize="small" android:screenDensity="hdpi" />
        <screen android:screenSize="small" android:screenDensity="xhdpi" />
        <screen android:screenSize="small" android:screenDensity="xxhdpi" />
        <screen android:screenSize="small" android:screenDensity="xxxhdpi" />
        <!-- all normal size screens -->
        <screen android:screenSize="normal" android:screenDensity="ldpi" />
        <screen android:screenSize="normal" android:screenDensity="mdpi" />
        <screen android:screenSize="normal" android:screenDensity="hdpi" />
        <screen android:screenSize="normal" android:screenDensity="xhdpi" />
        <screen android:screenSize="normal" android:screenDensity="xxhdpi" />
        <screen android:screenSize="normal" android:screenDensity="xxxhdpi" />
    </compatible-screens>
    <application ... >
        ...
    <application>
</manifest>
ra mắt từ:
API cấp 9
xem thêm:
Tổng quan về khả năng tương thích với màn hình
Bộ lọc trên Google Play