【问题标题】:Supporting Different Screens支持不同的屏幕
【发布时间】:2015-11-23 05:58:51
【问题描述】:

我正在努力为 android 支持不同的屏幕 我根据他们的要求创建了不同的可绘制文件夹并粘贴了图片,如下所示

drawable-ldpi = 240*320 px (dimension)
drawable-mdpi = 320*480px
drawable-hdpi = 480 * 800px
drawable-xhdpi=720*1280px

然后我将粘贴布局复制到相应的布局文件夹中,例如

layout-small
layout-normal 
layout -land
layout-land-small

等等等等 现在,当我打开每个文件夹的activity_main(布局)时,它必须选择drawable的相应文件夹的背景照片,但它在所有布局中只从drawable-hdpi中选择一张照片。 哪里有问题???

【问题讨论】:

  • 我相信这是操作系统的运行时决定......可能是错误的。
  • @Umer Farooq 试用设备并检查。
  • 我还认为它可能是运行时决定,并且可以在设备上正常工作。实际上我只有一部手机要测试。他们有什么好的其他方法来测试它是否会为正确的手机选择正确的图片?
  • 尝试清理并构建..它大部分时间都可以工作..有时 IDE 无法区分 R 中新创建的文件

标签: android android-layout android-screen-support


【解决方案1】:

Android 操作系统会自动从特定文件夹中选择可绘制对象。 作为开发者,您只能为每个文件夹提供不同的可绘制对象:

drawable-xhdpi/
     awesomeimage.png
drawable-hdpi/
        awesomeimage.png
drawable-mdpi/
        awesomeimage.png
drawable-ldpi/
        awesomeimage.png

证明它有效的最佳方式是在真实设备上启动您的应用程序。 您还可以在设计器中使用 Android Studio 中的不同设备,并且应应用来自不同可绘制文件夹的图片:

希望对您有所帮助。

【讨论】:

  • 它会自动为相应的布局选择设备,例如如果我打开layout-normal-land它会根据布局自动选择设备。问题是它应该从对应的 deawable 文件夹中选择图片,但它只为所有布局选择一张图片:(
  • 你试过在真机上做吗?
【解决方案2】:

-ldpi、-mdpi、-hdpi、-xhdpi 相对于分辨率和 -small、-normal 相对于大小、-land 相对于设备的方向。您可以更改为:

layout-ldpi, 
layout-mdpi, 
layout-hdpi, 
layout-xhdpi

给他们选择(订单)

drawable-ldpi = 240*320 px (dimension)
drawable-mdpi = 320*480px
drawable-hdpi = 480 * 800px
drawable-xhdpi=720*1280px

【讨论】:

  • 在所有布局中显示单个图片仍然相同:(
  • 通过此更改,您需要更改设备的分辨率而不是设备的大小。请检查分辨率不同的设备。
  • 是的,我也认为它适用于某些不同的设备。那么Android工作室的问题是它在所有布局中显示相同的照片吗?我的意思是它还应该根据不同的布局显示不同的图片......
  • 我认为你的问题需要结合尺寸和可绘制的解决方案:例如:drawable-small-ldpi, drawable-small-mdpi, ...., drawable-normal-ldpi ....
【解决方案3】:

它根据设备选择布局。它只为每个设备选择一种布局。比如4.5英寸的手机,它选择普通布局,平板电脑选择大布局。

这些文件夹适用于具有不同屏幕尺寸和分辨率的不同设备。

因为您希望显示所有图像。你只是不能,因为你的设备在屏幕尺寸和分辨率上是静态的。

将所有图像保存在每个文件夹中,您将获得所有图像。这也从一个文件夹中显示。

你必须阅读开发者网站才能更好地理解

【讨论】:

  • 感谢您的回答,johna 但是当我在 android studio 中打开它们并在 (layout-small) 或 (layour-xlarge) 之类的文件中打开它们时,应该从 drawlable-ldpi 中为 layout-small 和用于layour-xlarge的drawable-xhdpi,但它只显示所有布局的一张图片:(
  • 感谢大家帮助我 :) 我认为它适用于不同的设备。Android Studio 没有同步或帮助以正确的方式进行......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多