SORU
5 Ocak 2011, ÇARŞAMBA


Dönüştürme dp piksel

Yüksekliği ile benim uygulama oluşturulan ve 480 x 800 piksel genişliği olan Pantech aygıt piksel cinsinden verdim.

G1 bir cihaz için yükseklik ve genişlik dönüştürmek istiyorum. Dp dönüştürerek sorunu çözmek ve her iki cihaz için aynı çözüm sağlar diye düşündüm.

Daha kolay bir yolu var piksel dp dönüştürmek için var mı?Herhangi bir öneriniz var mı?

CEVAP
5 Mart 2012, PAZARTESİ


/**
 * This method converts dp unit to equivalent pixels, depending on device density. 
 * 
 * @param dp A value in dp (density independent pixels) unit. Which we need to convert into pixels
 * @param context Context to get resources and device specific display metrics
 * @return A float value to represent px equivalent to dp depending on device density
 */
public static float convertDpToPixel(float dp, Context context){
    Resources resources = context.getResources();
    DisplayMetrics metrics = resources.getDisplayMetrics();
    float px = dp * (metrics.densityDpi / 160f);
    return px;
}

/**
 * This method converts device specific pixels to density independent pixels.
 * 
 * @param px A value in px (pixels) unit. Which we need to convert into db
 * @param context Context to get resources and device specific display metrics
 * @return A float value to represent dp equivalent to px value
 */
public static float convertPixelsToDp(float px, Context context){
    Resources resources = context.getResources();
    DisplayMetrics metrics = resources.getDisplayMetrics();
    float dp = px / (metrics.densityDpi / 160f);
    return dp;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Morrison

    Jonathan Mor

    24 Mart 2010
  • Julia Graf

    Julia Graf

    6 Mayıs 2006
  • MADFINGER Games a.s.

    MADFINGER Ga

    21 NİSAN 2009