2014年5月3日土曜日

【アプリ開発】pxからdip(dp)への変換

アプリ開発をしててコード上でレイアウト調整するときなんかに
よく使う関数ですので紹介しときます(^^)




pxからdip(dp)に変換する関数(メソッド)


    /*******************************************
     * ChangeDip()
     * ピクセルからDipにサイズを変換
     * 
     * @param  ac  Activity
     * @param  nPixel 変換するピクセル値
     * @return  Dip値
     *******************************************/
    static public int ChangeDip(Activity ac, int nPixel)
    {
        final float scale = ac.getResources().getDisplayMetrics().density;
        return (int) (nPixel * scale);
    }

dip(dp)とは
ピクセル(px)は端末ごとに異なる画面密度(dpi)によっては同じピクセル値でも見えてくるサイズが変わるため、端末ごとで一定の値となるdip(=dp)に変換しています。1dipは160dpiの画面で1px、320dpiの画面で2pxです。

0 件のコメント:

コメントを投稿