当有多个布局限定符时,Android系统将按以下顺序查找匹配的布局资源:
最匹配的布局资源。例如,如果当前设备是运行API级别为23的大屏幕设备,系统将首先查找所有大屏幕设备和API级别为23的布局资源。
API级别最低的最匹配的布局资源。如果没有找到与设备完全匹配的布局资源,则系统将查找API级别最接近当前设备的布局资源。例如,如果当前设备的API级别为21,则系统将在所有API级别为21或更低的设备中查找最匹配的布局资源。
最近的常规计算限定符。如果没有找到与设备匹配的布局资源,系统将从所有其他常规计算限定符中查找最匹配的布局资源。例如,如果当前设备是大屏幕设备,但没有与API级别匹配的布局资源,则系统将尝试查找与大屏幕设备匹配的布局资源。
因此,在设计Android应用程序布局时,使用多个布局限定符会导致系统在查找布局资源时更具选择的余地。以下是一个示例:
在values文件夹下新建dimens.xml文件,内容如下:
12sp
16sp
20sp
在values-sw600dp文件夹下新建dimens.xml文件,内容如下:
14sp
18sp
22sp
在布局文件中,可以像下面这样使用dimen资源:
当小屏幕设备上运行应用程序时,系统将使用values文件夹下的dimen资源。但是,在大