0

我正在开始一个新的 Android 项目。我在 .psd 文件中获得了所有必要的图形材料。这些材料专为 1080 x 1920 分辨率设计,因为它也是一个 iOS 应用程序。当我遇到一个奇怪的问题时,我正要为各种屏幕密度调整图像大小。

一旦我切片了一些图像,我决定在模拟器中运行一些测试。我使用的测试图像是菜单图像之一。它的大小为 240 x 240 像素,正如人们所料,它占据了 .psd 文件中屏幕宽度的四分之一左右。但是,一旦我将所述图像放入我的应用程序并在 1080 x 1920 模拟器上运行,图像几乎占据了屏幕宽度的 2/3。这怎么可能?

编辑:我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
    android:id="@+id/imgMenu"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/btn_tourist_info_selector"
    android:adjustViewBounds="true"/>
</LinearLayout>

我正在使用的图片:http: //oi61.tinypic.com/2zgwwfp.jpg

4

2 回答 2

1

Android图像资源与iOS有很大不同。

要了解如何为 Android 调整图像大小,您必须了解“与密度无关的像素”或简称 DP。你可以阅读更多关于

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

240 x 240 像素的图像在实际手机上的尺寸会根据手机的 DPI 数量而有所不同(您也可以在上面的链接中查看整个图表)。

一组六个广义密度:

ldpi (low) ~120dpi  
mdpi (medium) ~160dpi  
hdpi (high) ~240dpi  
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi

如今,大多数手机都支持这些尺寸 mdpi、hdpi、xhdpi、xxhdi(您将拥有所有这些文件夹,为每个图像提供不同的尺寸。)

假设您将大小为 240 x 240 像素的图像放在 mdpi 文件夹中。现在您还需要将相同的图像放入 hdpi、xhdi、xxhdi 文件夹中。只有这样,它才会在所有设备上看起来大小相同。否则,当您在更大屏幕的手机上查看时,它会看起来越来越小。

您可以使用此公式计算尺寸px = dp * (dpi / 160)

或者只是使用任何在线计算器进行计算,例如http://labs.rampinteractive.co.uk/android_dp_px_calculator/

于 2015-07-30T15:52:18.363 回答
1

我将所述图像放入我的应用程序并运行它

这究竟意味着什么?你能分享一些代码,你把你的图片放在哪里?

没有代码的答案并不容易,但看起来 ImageView 的高度和宽度没有设置为 wrap-content,而是 match-parent 或 fill-parent。是这样吗?

于 2015-07-30T14:42:25.367 回答