Android密度绘画StrokeWidth计算

时间:2012-01-06 17:10:06

标签: android paint

我知道android中的Canvas上的PaintText在可伸缩的测量中占用了它的大小,但是用于绘制线条或类似物的strokeWidth是精确的像素大小...所以,我如何计算我的笔触宽度应该在不同的屏幕上屏幕密度?

我知道我可以创建一个标准图像,然后只绘制图像,它的密度将由操作系统处理,但这对我来说似乎有些过分。似乎应该有一些简单的方法,可能就是说,相对于densixy X将这个真正的像素数量转换为密度为Y的像素大小......或者更好的是,只需让setStroke有一个替代方案密度考虑在内。 (我没有看到,但那会很好。)

我该怎么做?或者这是否存在,我只是在API的某个地方忽略它?

1 个答案:

答案 0 :(得分:3)

使用dimension在xml中定义密度。

然后你可以使用getResources()。getDimensionPixelSize(R.dimen.yourdensity)获取密度的像素值,并将其用于strokewidth。