Canvas获取尺寸随不同设备屏幕尺寸变化

Mo *_*del 1 android canvas ondraw

我正在尝试在视图的画布上画一个圆圈,我面临一个问题,在不同的屏幕尺寸上测试代码后,我发现绘图尺寸发生了变化,尽管我给了视图静态宽度和高度 300。我期望它在所有设备上具有相同的大小。

Laz*_*nja 5

这是必然会发生的,因为设备具有不同的密度。尝试使用以下方法转换为像素/dpi。

private float dpFromPixels(float px)
{
    return px / this.getContext().getResources().getDisplayMetrics().density;
}

private float pixelsFromDp(float dp)
{
    return dp * this.getContext().getResources().getDisplayMetrics().density;
}
Run Code Online (Sandbox Code Playgroud)