打开Android开发工具Android Studio,选择菜单 Open an existing AndroidStudio project,打开ch04项目的android文件夹,如图5.8所示。android
图5.8 Android原生项目结构工具
从Android的项目结构,想必读者能够隐约感觉到:Android适配是基于文件夹的,不一样分辨率和尺寸的屏幕会自动适配相应的文件夹下的布局或资源文件。可是,想要进一步理解Android的适配,有必要先了解Android适配的一些基本概念:布局
另外,编写代码时经常使用的尺寸单位有:开发工具
在建立项目的时候,会自动建立不一样的mipmap或layout文件夹(在不一样像素密度上提供不一样的图片),文件夹的后缀代表了该布局或资源的像素密度(dp)范围,对应关系以下参见5.1。spa
后缀 像素密度(dp)的范围
mdpi 120dp ~ 160dp
hdpi 160dp ~ 240dp
xhdpi 240dp ~ 320dp
xxhdpi 320dp ~ 480dp
xxxhdpi 480dp ~ 640dp图片
对于上述Android项目中的mipmap文件夹,Android的适配机制是这样的:系统会先到后缀与设备匹配的mipmap目录下找对应的图片,当找不到的时候会去“更高”一级的目录去找,再找不到,继续往高一级的找,若是仍是找不到就退而求其次去低一级的找,依次类推。ip
例如:在密度为xxhdpi的手机上运行Android App,首先会在drawable-xxhdpi目录下寻找图片资源,找不到再去drawable-xxxhdpi找,若是没有比drawable-xxxhdpi更高的,则再找不到就去drawable-xhdpi找,接着drawable-hdpi,直到找到对应的图片资源,当找到后,系统会按密度对图片作缩放处理,而后再显示到屏幕上,因此若是图片放的目录不正确的话,有可能形成图片因缩放而变得模糊。资源
一样,用于存放布局文件的layout目录也是经过后缀名来适配的,只不过layout文件夹一般添加设备分辨率做为后缀,如:layout-1280x720、layout-1920x1080以及layout-land-1280x720等。开发
不难看出,以上适配方法和上述iOS开发中的Size Class是相似的:用于分类适配.it
和我一块儿学吧,《React Native移动开发实战》