-
1
.获取当前设备的屏幕大小
-
-
DisplayMetrics displayMetrics =
new
DisplayMetrics();
-
this
.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
-
-
2
.计算与你开发时设定的屏幕大小的纵横比(这里假设你开发时定的屏幕大小是
480
*
800
)
-
-
int
screenWidth = displayMetrics.widthPixels;
-
int
screenHeight = displayMetrics.heightPixels;
-
float
ratioWidth = (
float
)screenWidth /
480
;
-
float
ratioHeight = (
float
)screenHeight /
800
;
-
-
RATIO = Math.min(ratioWidth, ratioHeight);
-
if
(ratioWidth != ratioHeight) {
-
if
(RATIO == ratioWidth) {
-
OFFSET_LEFT =
0
;
-
OFFSET_TOP = Math.round((screenHeight –
800
* RATIO) /
2
);
-
}
else
{
-
OFFSET_LEFT = Math.round((screenWidth –
480
* RATIO) /
2
);
-
OFFSET_TOP =
0
;
-
}
-
}
-
-
3
.根据上一步计算出来的最小纵横比来确定字体的大小(假定在
480
*
800
屏幕下字体大小设定为
35
)
-
-
public
static
int
TEXT_SIZE = Math.round(
35
* RATIO);
-
-
4
.根据上一步计算的字体大小来设定应用程序中字体的大小
-
-
Paint paint =
new
Paint();
-
paint.setTextSize(TEXT_SIZE);
-
canvas.drawText(
“test”
,
0
,
0
, paint);
-
from:http://blog.csdn.net/cq361106306/article/details/38400647