Два устройства с одинаковой плотностью и разным размером изображения?
Хорошо, вот проблема, которая пугает меня, и я действительно хотел бы, чтобы вы помогли мне. Я тестирую свое приложение как с 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>