按屏幕大小列出的Android资源文件夹
我开发了一款Android游戏,它几乎支持市场上的分辨率(240x320、320x480、480x800、480x854、600x1024) 我的问题是,当我试图支持平板电脑时,我不明白为什么Android会将资源划分在不同的文件夹(hdpi、ldpi、mpdi、大型mdpi等)中,而这些限定符并不有用! 我有几个图形集(根据宽度),但我快发疯了,例如,有密度mdpi或ldpi的平板电脑480x800!不可能接触到所有设备 那么,你知道如何在文件夹中划分绘图/位图,但只能通过分辨率来访问吗??是的,我知道位图别名,但它不是解决方案按屏幕大小列出的Android资源文件夹,android,porting,screen-size,Android,Porting,Screen Size,我开发了一款Android游戏,它几乎支持市场上的分辨率(240x320、320x480、480x800、480x854、600x1024) 我的问题是,当我试图支持平板电脑时,我不明白为什么Android会将资源划分在不同的文件夹(hdpi、ldpi、mpdi、大型mdpi等)中,而这些限定符并不有用! 我有几个图形集(根据宽度),但我快发疯了,例如,有密度mdpi或ldpi的平板电脑480x800!不可能接触到所有设备 那么,你知道如何在文件夹中划分绘图/位图,但只能通过分辨率来访问吗??是
谢谢我相信您将屏幕大小与像素密度混为一谈: 来自开发指南:
- 该平台支持一组资源限定符,允许您根据需要提供特定于大小和密度的资源。特定于大小的资源的限定符有
、small
、normal
和large
。针对密度特定资源的是xlarge
(低)、ldpi
(中)、mdpi
(高)和hdpi
(特高)。限定符对应于上文中所述的广义密度xhdpi
- 该平台还提供了一个manifest元素,其属性
、android:smallScreens
、android:normalScreens
允许您指定应用程序支持的通用屏幕大小。另一个属性android:anyDensity允许您指示应用程序是否包含对多个密度的内置支持android:largeScreens
res/layout normal
,Archos使用res/layout large
。这样,您就可以控制不同屏幕大小的完整布局(也许您需要限制一些在Archos中不必要地过大的小部件),并决定是否要为您的Drawable保留固定大小或根据需要扩展它们
或者,如果您确实希望在不拉伸图像的情况下保持屏幕大小与屏幕成比例,则可以创建两组图像,即image1-normal.png、image2-normal.png和image1-large.png、image2-large.png等,在res/drawable mdpi
和res/drawable hdpi
文件夹中,您可以从res/layout normal
和res/layout large
中的xml文件访问这些文件夹
综上所述,所有要求应通过布局和可拉丝的组合来处理:
- Nexus One:
,布局正常
可绘制hdpi
- Archos 7:
,layout large
可绘制mdpi
- Xoom:
,layout xlarge
可绘制mdpi
- 该平台支持一组资源限定符,允许您根据需要提供特定于大小和密度的资源。特定于大小的资源的限定符有
、small
、normal
和large
。针对密度特定资源的是xlarge
(低)、ldpi
(中)、mdpi
(高)和hdpi
(特高)。限定符对应于上文中所述的广义密度xhdpi
- 该平台还提供了一个manifest元素,其属性
、android:smallScreens
、android:normalScreens
允许您指定应用程序支持的通用屏幕大小。另一个属性android:anyDensity允许您指示应用程序是否包含对多个密度的内置支持android:largeScreens
res/layout normal
,Archos使用res/layout large
。这样,您就可以控制不同屏幕大小的完整布局(也许您需要限制一些在Archos中不必要地过大的小部件),并决定是否要为您的Drawable保留固定大小或根据需要扩展它们
或者,如果您确实希望在不拉伸图像的情况下保持屏幕大小与屏幕成比例,则可以创建两组图像,即image1-normal.png、image2-normal.png和image1-large.png、image2-large.png等,在res/drawable mdpi
和res/drawable hdpi
文件夹中,您可以从res/layout normal
和res/layout large
中的xml文件访问这些文件夹
总之,完整的需求应该通过组合来处理