如何使用assets文件夹显示多个屏幕的Android图像

时间:2013-10-11 01:39:54

标签: java android

我有一个包含10个文件夹的资源文件夹,每个文件夹都有一组图像。 Ex folder1,folder2,..... folder10。 我的所有代码都在生成一个随机数,并根据从生成的随机数中选择的文件夹正确显示图像。问题是,它在各种Android设备上看起来有所不同是因为我的图像尺寸是300X300而另一个是100X100,我希望它可以在所有设备上工作,而不会使图像看起来很小的平板电脑或大的常规手机< / p>

2 个答案:

答案 0 :(得分:1)

首先阅读Android Developer's Website所说的内容

现在,为了让您的UI支持多个屏幕,您应该在 res 文件夹中包含不同类型的支持 drawables (xhdpi,hdpi,mdpi,ldi),即包含所有文件夹中具有不同分辨率和密度的相同图像。

如果您不想在可绘制文件夹中使用不同的图像,也可以使用 9个补丁位图,9补丁图像是可重新调整大小的位图,如果设备的分辨率不是拉伸也不缩小改变。

答案 1 :(得分:0)

您需要支持所有屏幕尺寸。你可以看到它here

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size like nexus-7
res/layout-xlarge/my_layout.xml      // layout for extra large screen sizes like tablet

同时将此添加到您的清单

<supports-screens android:resizeable=["true"| "false"]
          android:smallScreens=["true" | "false"]
          android:normalScreens=["true" | "false"]
          android:largeScreens=["true" | "false"]
          android:xlargeScreens=["true" | "false"]
          android:anyDensity=["true" | "false"]
          android:compatibleWidthLimitDp="integer"
          android:largestWidthLimitDp="integer"/>

您也可以使用this来指导您。希望它有所帮助。