在Android应用开发中,为了让应用能够适应不同设备的特性,如屏幕大小、屏幕方向、分辨率、API级别、语言和地区等,Android系统允许开发者通过创建具有特定限定符的资源目录来提供差异化资源。以下是Android资源目录(res)中常见的限定符及其详细说明和示例:
屏幕尺寸和方向限定符:
- 尺寸限定符:
small
,normal
,large
,xlarge
:早期用于根据屏幕尺寸大小提供不同资源,分别对应小、普通、大、超大屏幕设备。-
最小宽度限定符 (
sw<N>dp
):从Android 3.2开始引入,以设备屏幕的最小宽度(以dp为单位)作为依据,例如:res/layout-sw600dp/
:适用于最小宽度为600dp的设备,这通常包括大部分平板电脑。
-
方向限定符:
land
和port
:分别对应横向(landscape)和纵向(portrait)屏幕方向。
分辨率限定符(较少直接使用):
w<N>dp
:基于屏幕可用宽度。h<N>dp
:基于屏幕可用高度,但不推荐直接针对分辨率进行资源区分,而是使用最小宽度限定符。
屏幕像素密度限定符:
ldpi
,mdpi
,hdpi
,xhdpi
,xxhdpi
,xxxhdpi
:根据设备屏幕的像素密度提供不同质量的图片资源。
API版本限定符:
v<N>
:对应Android API级别,例如res/values-v21/
用于存放仅在API级别21及以上设备使用的值资源。
语言和区域限定符:
values-en-rUS/
:英文(美国),提供英语(美国地区)的语言资源。drawable-en-rGB-hdpi/
:针对英国地区、高密度屏幕且设备运行英文环境的图片资源。
其他限定符:
night
:暗黑模式资源,用于夜间主题或深色模式界面。notouch
/finger
:触摸屏类型。round
/notround
:圆形屏幕和平面屏幕。long
/notlong
:长屏幕和非长屏幕。car
/television
/wear
/tablet
等:针对车载系统、电视、可穿戴设备和平板电脑等特定设备类型的资源。
示例:
假设你有一个布局文件activity_main.xml
,你想为大屏幕设备提供不同的布局:
- 在
res/layout/
下放置基础布局文件activity_main.xml
。 - 在
res/layout-large/
下放置专为大屏幕设备优化的布局文件activity_main.xml
。
对于不同像素密度的图片资源:
- 在
res/drawable-mdpi/
放置中等密度图片资源。 - 在
res/drawable-hdpi/
放置高密度图片资源。
而对于适配不同API级别的字符串资源:
- 在
res/values/
放置通用字符串资源。 - 在
res/values-v23/
放置仅在API级别23及以上设备使用的字符串资源。
当前文章价值4.92元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)
你可能感兴趣的文章
分类:Android
标签:Android, android 资源, res
评论已关闭!