Android 画布获取大小使用不同的设备保持更改屏幕大小
我试图在一个视图的画布上画一个圆圈,我面临一个问题,在不同屏幕大小上测试代码后,我发现尽管我给视图的静态宽度和高度为300,但绘图大小会发生变化。我希望它在所有设备上都具有相同的大小。这是必然的,因为设备的密度不同。 尝试使用以下命令转换为像素/dpiAndroid 画布获取大小使用不同的设备保持更改屏幕大小,android,canvas,ondraw,Android,Canvas,Ondraw,我试图在一个视图的画布上画一个圆圈,我面临一个问题,在不同屏幕大小上测试代码后,我发现尽管我给视图的静态宽度和高度为300,但绘图大小会发生变化。我希望它在所有设备上都具有相同的大小。这是必然的,因为设备的密度不同。 尝试使用以下命令转换为像素/dpi private float dpFromPixels(float px) { return px / this.getContext().getResources().getDisplayMetrics().density; } pri
private float dpFromPixels(float px)
{
return px / this.getContext().getResources().getDisplayMetrics().density;
}
private float pixelsFromDp(float dp)
{
return dp * this.getContext().getResources().getDisplayMetrics().density;
}
这是不可避免的,因为设备的密度不同。 尝试使用以下命令转换为像素/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;
}
密度是屏幕每平方面积的像素数。密度较高的设备每平方英寸的像素数比密度较低的设备多,因此5英寸1080p设备上的300x300像素看起来比5英寸720p设备上的小得多。密度是屏幕每平方面积的像素数。密度较高的设备每平方英寸的像素数比密度较低的设备多,因此5英寸1080p设备上的300x300像素看起来比5英寸720p设备上的小得多。好的,基本上我对7选项卡上的尺寸很满意。我如何设置它总是使用这两种方法@懒惰的Ninjau使用dpFromPixels方法。我相信height=dpFromPixels300可以完成这项工作。我试过了,不幸的是画布上的图形仍然很小。我的意思是pixelsFromDp,使用它。好的,基本上我对它在7选项卡上的大小很满意。我如何设置它总是使用这两种方法@懒惰的Ninjau使用dpFromPixels方法。我相信height=dpFromPixels300可以完成这项工作。我试过了,可惜画布上的画还是很小的哦,我是说pixelsFromDp,用这个。