如何为 Paint.setTextSize() 设置单位

2022-08-31 14:51:39

是否可以更改 的单位?据我所知,它是像素,但我喜欢在DIP中设置文本大小以支持多屏幕。Paint.setTextSize()


答案 1

我知道这个话题很旧,已经回答过了,但我也想建议这段代码:

int MY_DIP_VALUE = 5; //5dp

int pixel= (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
                              MY_DIP_VALUE, getResources().getDisplayMetrics());

答案 2

像这样转换它

// The gesture threshold expressed in dip
private static final float GESTURE_THRESHOLD_DIP = 16.0f;

// Convert the dips to pixels
final float scale = getContext().getResources().getDisplayMetrics().density;
mGestureThreshold = (int) (GESTURE_THRESHOLD_DIP * scale + 0.5f);

// Use mGestureThreshold as a distance in pixels

从这里 http://developer.android.com/guide/practices/screens_support.html#dips-pels


推荐