天天看點

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);
    }
}
           

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