我正在开发一个Android应用程序,我想支持多个屏幕。
我检查了下面链接中的仪表板,有10种类型的屏幕配置正在使用:http://developer.android.com/about/dashboards/index.html#Screens
我从下面的链接中得到了屏幕的尺寸:http://developer.android.com/guide/practices/screens_support.html#testing
然后我创建了以下模拟器来测试我的应用程序:
- large_ldpi_2.3_800x480_120
- 大_mdpi_2.3_800x480_160
- 大_xhdpi_2.3_800x480_320
- normal_hdpi_2.3_800x480_240
- normal_ldpi_2.3_400x240_120
- normal_mpdi_2.3_480x320_160
- 正常_xhdpi_2.3_960x640_320
- small_hdpi_2.3_640x480_240
- small_ldpi_2.3_320x240_120
- xlarge_mdpi_2.3_1280x800_160
格式:
<size>_<density>_<android version>_<size>_<density>
我这样做对吗?最佳实践是什么?
在我看来,测试应用程序时无需担心模拟器的大小。当你的应用程序在设备上运行时,有三个文件夹可以放置不同分辨率的不同图像,当你在真实设备上运行应用程序时,应用程序会为设备选择最佳分辨率的图像。
有一些特定的Android API调用可以在运行时告诉您手机的密度和(小/大/正常)屏幕大小。然而,作为一个开发人员,我们根本不需要担心单个手机。我们所需要做的就是在apk中拥有ldpi/mdpi/hdpi资产和小型/普通/大型布局。安卓系统内部处理一切。
别忘了深入了解Android是如何决定使用哪些资产以及像这样的别名的。
定义为:
x大屏幕至少为960dp x 720dp。
大屏幕至少为640dpx480dp。
普通屏幕至少为470dp x 320dp。
小屏幕尺寸至少为426dp x 320dp。(安卓目前不支持小于这个的屏幕。)
以下是一些如何在真实屏幕上工作的更多例子:
QVGA屏幕为320x240 ldpi。转换为mdpi(4/3比例因子)得到426dp x 320dp;这与上面小屏幕bucket的最小大小相匹配。
Xoom是一款典型的10英寸平板电脑,屏幕为1280x800 mdpi。这将其放入x大筛斗中。
Dell Streak是一个800x480 mdpi屏幕。这会将其放入大尺寸铲斗的底部。
典型的7英寸平板电脑具有1024x600 mdpi屏幕。这也算是一个大屏幕。