Dois dispositivos, densidades semelhantes e tamanhos de imagem diferentes?
Ok, aqui está um problema que está me atrapalhando que eu realmente gostaria que você me ajudasse. Estou testando meu aplicativo com o HTC e o Galaxy S2 (como eu sei que ambos são alta densidade) e ambos no intervalo de tela de 3.7-4.3
O problema é que a mesma imagem parece diferente em termos de tamanho nas duas telas. No HTC surpreender é muito menor. Eu tenho minhas 3 pastas drawable com os diferentes tamanhos apropriados (o que eu preciso de qualquer maneira aqui, porque ambos os dispositivos são da mesma densidade)
Eu fiz algumas depurações no DisplayMatrics e achei para o HTC surpreender o seguinte:
<code>density 1.5 desnityDPI 240 Height pixels:540 Width pixels:960 xdpi 258 ydpi 256 </code>
No entanto, para a galáxia S2, as métricas de exibição são:
<code>density 1.5 desnityDPI 240 Height pixels:480 Width pixels:800 xdpi 160 ydpi 160 </code>
Alguém pode me explicar por que os tamanhos das imagens em ambos os dispositivos são diferentes? No HTC surpreender as imagens são muito menores do que no S2? Obrigado
Editar: Código usado para obter as informações do DP é
<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>