【问题标题】:Android Background Image: How to Support All Resolutions?Android 背景图片:如何支持所有分辨率?
【发布时间】:2016-04-20 02:11:25
【问题描述】:

我阅读了文件:

Supporting Multiple Screens

但是还是不知道如何支持文档中表2中的所有屏幕分辨率。即使我为 LDPI、MDPI 和 HDPI 创建了三个版本,该表中也有超过屏幕分辨率,如果没有匹配的图像,它会缩放我的图像并且可能不会保留纵横比。

有没有标准的方法来处理这个问题? 谢谢!

【问题讨论】:

  • 您希望它做什么?裁剪图像?缩放到最低匹配轴?
  • 我想缩小图像以使其保持原始状态,如果我能保留纵横比,那就太好了。

标签: android screen resolution


【解决方案1】:

看到这个问题:How to scale an Image in ImageView to keep the aspect ratio Steve H 回答了

  1. 是的,默认情况下,Android 会缩小您的图像以适应 ImageView,同时保持纵横比。但是,请确保您是 使用 android:src="..." 将图像设置为 ImageView 而不是 安卓:背景=“...”。 src= 使其缩放图像保持 纵横比,但 background= 使其缩放和扭曲图像 使其完全适合 ImageView 的大小。 (您可以使用一个 同时背景和来源,这可能很有用 对于像在主图像周围显示一个框架这样的事情,只使用 一个 ImageView。)

  2. 没有“空白”,它充满了透明像素。如果你甚至不想要那些,你可以简单地把你的 layout_width="fill_parent" 和 layout_height="wrap_content"。

    然后正如 Samuh 所写,您可以更改默认缩放图像的方式 使用 android:scaleType 参数。顺便说一句,最简单的方法 发现它是如何工作的只是进行一些实验 你自己!只记得查看模拟器本身的布局 (或实际手机)作为 Eclipse 中的预览通常是错误的。

【讨论】:

  • 感谢您的回复,但是如果我想为整个屏幕设置一个LinearLayout的背景呢?我是否必须将布局设置为 RelativeLayout 并使用 ImageView 而不是设置布局的背景?谢谢!
  • 我没试过,但也许只是嵌套你的线性布局 content
【解决方案2】:
<supports-screens android:normalScreens="true"
    android:largeScreens="true" android:anyDensity="true">
</supports-screens>

将上面的代码放在你的android清单文件中,使用它你的应用程序支持所有的屏幕尺寸。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    相关资源
    最近更新 更多