图像尺寸问题(屏幕密度)

时间:2015-07-30 14:31:19

标签: android imageview screen-density

我正在开始一个新的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

2 个答案:

答案 0 :(得分:1)

  

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

这究竟意味着什么?你可以分享一些代码,你把图像放在哪里?

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

答案 1 :(得分:1)

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

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

的更多信息

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

根据手机的DPI数量,240 x 240像素图像在实际手机上的大小会有所不同(您还可以在上面的链接上看到整个图表)。

一组六个广义密度:

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/

等任何在线计算器进行计算
相关问题