¿Dos dispositivos, densidades similares pero diferentes tamaños de imagen?
Ok, este es un problema que me desconcierta y realmente me gustaría que me ayudaras. Estoy probando mi aplicación con HTC Amazon y Galaxy S2 (porque sé que ambos son de alta densidad) y ambos en el rango de pantalla 3.7-4.3
El problema es que la misma imagen se ve diferente en términos de tamaño en ambas pantallas. En el HTC amaze es mucho más pequeño. Tengo mis 3 carpetas para dibujar con los diferentes tamaños apropiados (que de todos modos debería necesitar aquí porque ambos dispositivos son de la misma densidad)
Hice algo de depuración en DisplayMatrics y encontré para HTC asombrar lo siguiente:
<code>density 1.5 desnityDPI 240 Height pixels:540 Width pixels:960 xdpi 258 ydpi 256 </code>
Sin embargo, para la galaxia S2 las métricas de visualización son:
<code>density 1.5 desnityDPI 240 Height pixels:480 Width pixels:800 xdpi 160 ydpi 160 </code>
Alguien me puede explicar por qué los tamaños de las imágenes en ambos dispositivos son diferentes. ¿En HTC amaze las imágenes son mucho más pequeñas que en el S2? Gracias
Edición: El código utilizado para obtener la información del DP es
<code>DisplayMetrics mt =getApplicationContext().getResources().getDisplayMetrics(); </code>
EDITAR:
<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>