我知道 android 中 Canvas 上的 PaintText 以可缩放的尺寸来衡量它的大小,但是用于绘制线条或其他东西的 strokeWidth 是精确的像素大小......所以,我如何计算我的笔划宽度应该在不同的屏幕上屏幕密度?
我知道我可以创建一个标准图像,然后只绘制图像,操作系统会处理它的密度,但这对我来说似乎有点过分了。似乎应该有一些简单的方法,可能是,将这个相对于密度 X 的真实像素数量转换为它应该用于密度 Y 的像素大小......或者更好的是,让 setStroke 有一个替代方案考虑密度。 (我没看到,但那会很好。)
我该怎么做?或者它是否存在而我只是在 API 的某处忽略了它?
最佳答案
使用 dimension 在 xml 中定义密度.
然后您可以使用 getResources().getDimensionPixelSize(R.dimen.yourdensity) 获取密度的像素值并将其用于笔划宽度。
关于Android密度绘画StrokeWidth计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8761610/