私のAndroidアプリケーションにはpixels(69px)があり、このピクセルをdip(Density Independent Pixels)に変換する必要があります。
助言がありますか?
私のAndroidアプリケーションにはpixels(69px)があり、このピクセルをdip(Density Independent Pixels)に変換する必要があります。
助言がありますか?
ピクセル単位の値をDisplayMetrics.densityで割るだけです。
あなたはこれを試すことができます:
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;
}
これがお役に立てば幸いです
Resources r = getResources();
float dp = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, 69, r.getDisplayMetrics());