Два устройства с одинаковой плотностью и разным размером изображения?

Хорошо, вот проблема, которая пугает меня, и я действительно хотел бы, чтобы вы помогли мне. Я тестирую свое приложение как с HTC Amaze, так и с Galaxy S2 (как я знаю, оба с высокой плотностью), и оба в диапазоне экрана 3,7-4,3

Проблема в том, что одно и то же изображение выглядит по-разному на обоих экранах. На HTC удивить его гораздо меньше. У меня есть 3 папки для рисования с разными размерами (которые мне здесь все равно нужны, потому что оба устройства имеют одинаковую плотность)

Я провел некоторую отладку на DisplayMatrics и обнаружил, что для HTC удивляет следующее:

<code>density 1.5
desnityDPI 240
Height pixels:540
Width pixels:960
xdpi 258
ydpi 256
</code>

Тем не менее, для галактики S2 показатели отображения:

<code>density 1.5
desnityDPI 240
Height pixels:480
Width pixels:800
xdpi 160
ydpi 160
</code>

Так может кто-нибудь объяснить мне, почему размеры изображений на обоих устройствах разные. На HTC поражают изображения намного меньше, чем на S2? Спасибо

Изменить: код, используемый для получения информации DP

<code>DisplayMetrics mt =getApplicationContext().getResources().getDisplayMetrics();
</code>

РЕДАКТИРОВАТЬ:

<code><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/carpet"
    android:clipChildren="false"
    android:clipToPadding="false"
    android:keepScreenOn="true" >
    <RelativeLayout
        android:id="@+id/relativeLayoutBottom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:clipChildren="false"
        android:clipToPadding="false" >

        <ImageView
            android:id="@+id/ivBottom1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <ImageView
            android:id="@+id/ivBottom2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp" />

        <ImageView
            android:id="@+id/ivBottom3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="40dp" />
    </RelativeLayout>

   </RelativeLayout>



private void initialize(ArrayList<CardSuitNumber> cards) {

    RelativeLayout flBottom = (RelativeLayout) findViewById(R.id.relativeLayoutBottom);
    player1.clearAll();

    for(int i=0; i<GameConstants.MAXRANKS;i++){
        player1.addCard((ImageView)flBottom.getChildAt(i));


    }
}


public void addCard(ImageView im){


        Drawable drawable = card.getCardSuitNumber().getDrawable(mActivity);
        im.setImageDrawable(drawable);
        imsetVisibility(View.VISIBLE);


}
</code>

Ответы на вопрос(4)

Ваш ответ на вопрос