3 回答

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個贊
DP至PX:
public static int dpToPx(float dp, Context context) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources().getDisplayMetrics());
}
SP到PX:
public static int spToPx(float sp, Context context) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, context.getResources().getDisplayMetrics());
}
DP到SP:
public static int dpToSp(float dp, Context context) {
return (int) (dpToPx(dp, context) / context.getResources().getDisplayMetrics().scaledDensity);
}

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個贊
要將Dimension轉(zhuǎn)換為Integer或Pixel,您需要使用“ getDimensionPixelSize(R.dimen.your_dp_value) ”函數(shù),例如...
在dimens.xml中賦值
<dimen name="padding_10">10dp</dimen>
現(xiàn)在,對于以像素或整數(shù)表示的那個值,您可以像下面這樣使用:
int sizeInPixel = context.getResources().getDimensionPixelSize(R.dimen.padding_10);
- 3 回答
- 0 關(guān)注
- 955 瀏覽
添加回答
舉報