Android分辨率和模拟器未选择正确的图像

Android分辨率和模拟器未选择正确的图像,android,android-layout,Android,Android Layout,我有一个关于Android分辨率的快速问题,以及它是如何在模拟器上表示的。我已经建立了一个测试项目来测试许多不同的分辨率以及它们在每个方向上的表现。因此,我创建了可绘制的陆地ldpi、mdpi、hdpi xhpdi,并对可绘制端口做了同样的工作。我也有所有的布局文件夹,即small-med-large x-large,small-land,med-land,large-land,x-land 我已经创建了8个测试图像,比如说小端口、陆地、中端口、陆地等等,只是为了检查Android是否选择了正确

我有一个关于Android分辨率的快速问题,以及它是如何在模拟器上表示的。我已经建立了一个测试项目来测试许多不同的分辨率以及它们在每个方向上的表现。因此,我创建了可绘制的陆地ldpi、mdpi、hdpi xhpdi,并对可绘制端口做了同样的工作。我也有所有的布局文件夹,即small-med-large x-large,small-land,med-land,large-land,x-land

我已经创建了8个测试图像,比如说小端口、陆地、中端口、陆地等等,只是为了检查Android是否选择了正确的图像。我还为每个布局文件夹创建了一个布局文件,在布局文件中我有一个文本字段,它只指定文件夹名称,这样我就知道正在使用哪个布局文件夹

我有两个问题,首先是我是否为每个文件夹创建了正确的图像大小。我创建的图像大小如下

可抽地ldpi-320*240 可抽出式端口ldpi-240*320

可抽地mdpi-480*320 可抽出式端口mdpi-320*480

可抽地hdpi-800*480 可抽出式端口hdpi-480*800

可抽地xhdpi-1080*720 可抽出式端口xhdpi-720*1080

我的第二个问题是,为什么这些在模拟器上似乎不能正确地表示?例如,我已经创建了一个Android应用程序,其中有一个屏幕,图像位于相应的文件夹中。我创建了两个模拟器,一个是2.3.3,另一个是3.0平板电脑

如果我在我的设备上运行该设备,它将使用“中等分辨率”文件夹中的图像,并使用“中等布局”文件夹。因此,如果是port,它将使用默认布局文件夹中的布局和可绘制端口mdpi中的图像;如果是横向,它将使用默认land文件夹中的布局和可绘制land mdpi中的图像

但是,如果我在emulator上运行此命令,在2.3.3设备上,它会使用medium layout文件夹中的layout文件夹,但会使用drawable hdpi端口中的图像,如果其横向使用medium横向布局文件夹,则会使用drawable hdpi land中的图像。如果我在3.0 tablet emulator上运行它,它将使用xLarge端口和xLarge land的正确布局,但它使用可绘制mdpi文件夹中的图像

我已在清单中设置以支持所有分辨率和布局。模拟器这样做有什么原因吗?我目前没有安卓平板电脑来测试,因为我的朋友忘了带它,所以我还不能测试它在平板电脑上是否正常工作

我希望能够使用模拟器来测试一系列设备,但是如果它没有选择正确的图像,那么我就不能依赖它。还有其他人有这样的问题吗?还是我做错了什么


任何信息都将不胜感激

像素密度很重要。例如,您的hdpi图像可能大小正确,但如果像素密度不正确,它们仍会在这些文件夹中缩放。例如,hdpi图像的像素密度应为~240dpi。查看《开发人员指南》以了解支持多种屏幕尺寸:

另一个问题是屏幕可能有多种尺寸,以及不同的像素密度,例如平板电脑可能有10英寸(X大),但仍有中等像素密度(1280x800)。同时,如果分辨率为2560x1600,您还可以拥有另一款10英寸的xhdpi平板电脑

您最好根据像素密度指定实际布局文件夹。例如,您可以创建文件夹:

res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)

您仍然可以对其应用端口和接地。阅读页面上关于支持多种屏幕尺寸的内容,这可能真的有助于回答您的许多问题。

我想这就是我的困惑所在,假设更大的scren尺寸自然会有更高的分辨率。我检查的模拟器发现它只设置为160dpi因此选择了中分辨率图像。感谢您清除此问题up@AdamM嘿,我有同样的问题,图像被我的三个模拟器拾取:240x320_120dpi(LDPI),320x480_160dpi(MDPI)和480x800_240dpi..我在我的所有三个文件夹中放置了一个与logo.png同名的图像:drawable ldpi、drawable mdpi和drawable hdpi..但所有三个emulator都在drawable mdpi处拾取图像..你能帮助我吗..我已经搜索这个解决方案两周了。。