【问题标题】:Android resolutions and emulator not choosing correct imageAndroid 分辨率和模拟器没有选择正确的图像
【发布时间】:2012-08-02 09:02:57
【问题描述】:

我有一个关于 Android 分辨率及其在模拟器上的表示方式的快速问题。我已经建立了一个测试项目来测试许多不同的分辨率以及它们在每个方向上的外观。所以我创建了drawable-land-ldpi、mdpi、hdpi-xhpdi,并对drawable-port做了同样的事情。我也有所有的布局文件夹,即 small med large x large, small-land,med-land,large-land, x-land

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

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

drawable-land-ldpi - 320 * 240 可绘制端口 ldpi - 240 * 320

drawable-land-mdpi - 480 * 320 可绘制端口 mdpi - 320 * 480

drawable-land-hdpi - 800 * 480 可绘制端口-hdpi - 480 * 800

drawable-land-xhdpi - 1080 * 720 可绘制端口 xhdpi - 720 * 1080

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

如果我在我的设备上运行该设备,它会使用中等分辨率文件夹中的图像并使用中等布局文件夹。因此,如果是端口,它将使用默认布局文件夹中的布局和 drawable-port-mdpi 中的图像,如果是横向,它将使用默认土地文件夹中的布局和 drawable-land-mdpi 中的图像。

但是,如果我在模拟器上运行它,在 2.3.3 设备上,它使用来自中等布局文件夹的布局文件夹,但来自 drawable-hdpi-port 的图像,如果它的横向使用中等横向布局文件夹,但是来自drawable-hdpi-land的图像。如果我在 3.0 平板电脑模拟器上运行它,它使用来自 xLarge 端口和 xLarge 土地的正确布局,但它使用来自 drawable-mdpi 文件夹的图像。

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

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

任何信息将不胜感激!

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    像素密度很重要。例如,您的 hdpi 图像可能大小合适,但像素密度不正确,它们仍会在这些文件夹中缩放。例如,您的 hdpi 图像应具有 ~240dpi 的像素密度。查看支持多种屏幕尺寸的开发者指南:

    http://developer.android.com/guide/practices/screens_support.html

    另一个问题是屏幕可能有多种尺寸以及不同的像素密度,例如,平板电脑可能是 10 英寸(X-Large),但仍具有中等像素密度 (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)
    

    你仍然可以向他们申请港口和土地。阅读有关支持多种屏幕尺寸的页面,它可能真的有助于回答您的很多问题。

    【讨论】:

    • 我认为这就是我的困惑所在,假设更大的屏幕尺寸自然会有更高的分辨率。我检查并意识到它仅设置为 160 dpi 的模拟器,因此选择了中等分辨率图像。感谢您清除它
    • @AdamM 嘿,我有同样的问题,图像被我的三个模拟器拾取:240x320_120dpi(LDPI)、320x480_160dpi(MDPI) 和 480x800_240dpi.. 我放置了一个与 logo.png 同名的图像在我的所有三个文件夹中:drawable-ldpi、drawable-mdpi 和 drawable-hdpi .. 但是所有三个模拟器都在 drawable-mdpi 处拾取图像..你能帮帮我吗..我已经两个星期一直在寻找这个解决方案..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    相关资源
    最近更新 更多