如何为 Paint.setTextSize() 设置单位
是否可以更改 的单位?据我所知,它是像素,但我喜欢在DIP中设置文本大小以支持多屏幕。Paint.setTextSize()
是否可以更改 的单位?据我所知,它是像素,但我喜欢在DIP中设置文本大小以支持多屏幕。Paint.setTextSize()
我知道这个话题很旧,已经回答过了,但我也想建议这段代码:
int MY_DIP_VALUE = 5; //5dp
int pixel= (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
MY_DIP_VALUE, getResources().getDisplayMetrics());
像这样转换它
// 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