可绘制资源与物理设备不匹配

时间:2014-05-27 07:19:54

标签: android screen-resolution android-drawable

我有2个不同尺寸和文件夹的测试设备和相同的图像。

Samsug Galaxy S2从hdpi检索图像(300x300)

Google Nexus 7从xhdpi检索图片(400x400)

当我在两个设备上运行应用程序时,即使很难确认他们从不同的资源中读取,也会出现相同大小的图像,因此,当图像符合S2中的屏幕尺寸时,对于Nexus 7来说它看起来非常小。

我应该去其他一些配置吗?我不知道我怎么能解决这个问题。谢谢你的建议。

.xml 图片:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/stainbck"
android:orientation="vertical"
android:padding="25dp"
android:id="@+id/rootViewGroup" >

 <ImageButton
    android:id="@+id/newcard"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="1dp"
    android:background="@color/trans"
    android:src="@drawable/contactnew" />  **//THIS IS SOURCE DRAWABLE**

</LinearLayout>

注意: Eclipse有hdpi,ldpi,mdpi,xhdpi和xxhdpi资源。

2 个答案:

答案 0 :(得分:0)

Nexus 7支持XHDPI图像 三星s2支持HPDI图像

您需要为两个不同的屏幕分辨率创建两个文件夹,其名称必须类似于

抽拉-HDPI 抽拉-xhdpi

将300 * 300图像放入drawable-hdpi和400 * 400图像到drawable-xhdpi 并记住一件事,两个图像必须具有相同的名称和相同的扩展

希望它能帮助您获得解决方案

答案 1 :(得分:0)

我必须添加ScaleType

android:scaleType="fitXY" 

ImageButton它可以适合不同的屏幕尺寸。

<ImageButton
android:id="@+id/newcard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="1dp"
android:background="@color/trans"
android:src="@drawable/contactnew"
android:scaleType="fitXY" />        **//Scale Type**