1. 程式人生 > >android之dp和px之間的轉換

android之dp和px之間的轉換

知識點:

1、android的dp和px之間的轉換;

android是一個開源平臺,android安裝的硬體廠商也是多不勝數,導致了市場上有著各種各樣解析度的手機,對於這些不同解析度的手機,我們就必須要有一個統一的方式來適配我們應用的佈局和字型大小。如果不這樣做的話,那麼佈局在不同手機上,就亂了套了。

下面是我自己收集實驗,使用的一套關於dp和px之間轉換的程式碼。在有需要時,我們可以拿它來作為一個工具類。很實用。

關於dp和px的差別,不是我這裡討論的問題,有興趣瞭解的同學可以往上搜一下。

/**
 * Created by kuyu.yaojt on 16/6/6.
 */

public class ScreenUtil {
    /**
     * 根據手機的解析度從 dp 的單位 轉成為 px(畫素)
     */
    public static int dip2px(Context context, float dpValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    }

    /**
     * 根據手機的解析度從 px(畫素) 的單位 轉成為 dp
     */
    public static int px2dip(Context context, float pxValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }
}

如有任何問題,請及時與我聯絡,謝謝。