9

Her şeyden önce, bu tür bir soruyu daha önce sorduğumdan emin olduğumdan, ama bu soruları yanıtlayamadığım 2 hafta boyunca aradığım halde, özür dilemek istiyorum. ne yapıyorum yanlış.Başka bir cihazda görüntü bulanıklığı

ben aktivitesinde resim yüklemek burasıdır:

ImageView image = (ImageView) findViewById(R.id.shop_Image) ; 
image.setScaleType(ImageView.ScaleType.CENTER_CROP) ; 

String mDrawableName = data.vec.elementAt(id).fuenf ; 
if (mDrawableName.equals("leer")) 
    mDrawableName = "ic_launcher" ; 
int resID = getResources().getIdentifier(mDrawableName , "drawable", etPackageName()); 
image.setImageResource(resID) ; 

Ve bu xml-dosyasıdır:

<LinearLayout 
    android:id="@+id/shop_Layout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="#FDFDFD" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/shop_Image" 
     android:contentDescription="@string/shop_image" 
     android:layout_width="match_parent" 
     android:layout_height="400dp" 
     android:scaleType="centerCrop" 
     android:adjustViewBounds="true" 
     android:src="@drawable/ic_launcher" /> 
    [...] 

Ve bu sonuçlar şunlardır: a Galaxy On

Nexus, Nexus 5 veya Samsung S3 şu şekilde görünür:

http://abload.de/img/2014-06-0419.23.52ojuo4.png

Ve Razr I veya HTC Desire X üzerindeBu gibi görünüyor: Doğru görüntüyü yukarıdaki cihazları, en az 4,7 olan bir ekran var farkındayım

http://abload.de/img/2014-05-2514.19.482ju01.png

her ikisi de bulanık görüntülerle birlikte 4,3 inç veya 4 inç.

Ve bu görüntüleri farklı çekilebilir klasörlere koymuş olsam da, yine de bu hoş olmayan sonuçları aldım.

Daha fazla kod örneği gerekiyorsa, lütfen bana bildirin.

Not: Eksik vurgulama için üzgünüm, hala bir acemi :) olduğum

+0

Önlemler için dp yerine daldırma kullanmayı deneyin. dp = yoğunluk pikselleri ve dip = yoğunluk bağımsız pikseller. Bu cihazların gerçekten farklı ppi var, bu yüzden yardımcı olabilir. –

+1

Bildiğim kadarıyla dp ve dip aynıdır. Hala deneyebilirim, teşekkürler :) – VollNoob

+0

@MarcusGabilheri VollNoob haklı. dip, dp için başka bir isimdir. Adın dışında, iki birim arasında ** fark yoktur. –

cevap

4

Google'da bir hızlı arama bana bu gerçekleri bildirmek:

Desire X gözlük: 480 x 800 pixels, 4.0 inches (~233 ppi pixel density) - Yani, bir hdpi var cihaz Samsung S3 gözlük: 720 x 1280 pixels, 4.8 inches (~306 ppi pixel density) - Yani, şimdi bir xhdpi cihaz

var, bunu okumalısınız: developer.android.com/guide/practices/screens_support.html.

Çok hızlı bir düzeltme şu olabilir: görüntüyü /res/drawable-xhdpi klasörüne yerleştirin (klasörünüz yoksa, hemen oluşturun).


Ayrıca düşünün:

görüntüleri düzgün dpi çözünürlükte kaydedilmiş olmalıdır.
Sık karşılaşılan bir hata, bunları (yetersiz) 72 dpi veya 96 dpi çözünürlüklerinde bırakmaktır. ve xhdpi görüntüleri çözünürlük, 320 dpi olmalıdır düzgün görüntülemek ve iyi ölçekli

hdpi görüntüleri çözünürlük 240 dpi olmalıdır.

Peki, ne yapmalı?

Daha büyük görüntünün çözünürlüğünü, boyutunu değiştirmeden değiştirin (bu, çözünürlüğe dokunduğunuzda otomatik olarak ölçeklenir - böylece, 1280 * 800'e sıfırlayın).
Daha sonra, küçük görüntüyü çözünürlüğünüzü değiştirerek (bu, 480 * 854 doğru boyuta kadar ölçeklendirmeniz gerekir - en üstteki 54 pikseli - 27 üstünden ve 27 alttan kesin) kesin.

Doğru görüntüleri doğru klasörlerine koyduğunuzda, artık her şey iyi durumda olmalıdır.

+0

Bu benim hatamdı! Yine de kafam karıştı. Galaxy Nexus'ta dpi yanlış olsa da görüntüler düzgün bir şekilde görüntüleniyordu, ancak Razr'da Galaxy Nexus'da olduğu gibi çalışmadı ... garip. Ama neyse! Teşekkürler :) – VollNoob

+1

Razr I, Desire X'in aynı hdpi kategorisine giriyor, ama biraz daha büyük - '540 x 960 piksel, 4,3 inç (~ 256 ppi piksel yoğunluğu). Daha büyük görüntüden ölçeklendirebilir ancak 540 * 960'a büyütülebilir ve daha sonra drawable-hdpi-w540dp-h960dp (veya belki de çekilebilir hdpi-w360dp-h640dp) adlı bir klasöre yerleştirebilirsiniz - bu çözünürlükte açık fikirli değilim belirli "klasörler - eğer sırasıyla px veya dp ise) –

İlgili konular