本质上,应用程序应该支持各种设备。我正在使用这些指南:mult.screen.supp,screen.stat。
在大多数活动中,平板电脑和手机的设计都是相似的。我感到困惑的是如何为两个版本提供可绘制对象,因为它们的密度组提供不同的分辨率,因此可绘制对象不可替代。
例如,将 xlarge(tablet) - mdpi 与 normal(handset) - mdpi 进行比较:
- 普通屏幕,中密度 (160),mdpi:320x480
- 超大屏幕,中密度 (160),mdpi:1280x800
所以,如果我为第一组创建 foo.png(50px x 50px) 然后测试相同的布局
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/foo" />
在第二组中,它将在 mdpi 文件夹中查找相同的图像 - 图像看起来很小。
我有一个解决方案,但我不确定我是否做得对:
- 为每个屏幕尺寸配置创建 attr.xml。
- 在手机资源文件夹中创建
<item name="foo" type="drawable">@drawable/h_foo</item>
,该文件夹引用适合normal(handset) - mdpi
分辨率 h_foo 的图像,例如 50x50。 - 在 tablet-resources 文件夹中创建
<item name="foo" type="drawable">@drawable/t_foo</item>
,该文件夹引用适合xlarge(tablet) - mdpi
分辨率 t_foo 的图像,例如 150x150。
您能否说明这种方法是否可行以及其他解决方案是什么?