6

私のAndroidアプリケーションにはpixels(69px)があり、このピクセルをdip(Density Independent Pixels)に変換する必要があります。

助言がありますか?

4

3 に答える 3

10

ピクセル単位の値をDisplayMetrics.densityで割るだけです。

于 2012-04-10T19:11:10.910 に答える
7

あなたはこれを試すことができます:

public int convertDiptoPx(int pixel){

    float scale = getResources().getDisplayMetrics().density;
    int dips=(int) ((pixel * scale) + 0.5f);
    logMessage("Px=" +pixel+"  DipValue="+dips );   
    return dips;
}

編集済み:

public int convertPxtoDip(int pixel){
    float scale = getResources().getDisplayMetrics().density;
    int dips=(int) ((pixel / scale) + 0.5f);
    return dips;
}
于 2012-04-17T06:54:33.980 に答える
7

これがお役に立てば幸いです

Resources r = getResources();
float dp = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, 69, r.getDisplayMetrics());
于 2012-04-10T18:20:49.120 に答える