本文介绍了绘制矩形哪些改变大小w.r.t不同的Android的屏幕尺寸的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想提请使用的改变其大小随不同的屏幕大小的画布的矩形。结果
这意味着,它的屏幕比例减小其尺寸的增大结果我用下面的code:
I want to draw a rectangle using canvas which change its size with different screen size.
That means it increase of decrease its size with screen ratio.
I use the following code:
float scale = getContext().getResources().getDisplayMetrics().density;
canvas.drawRect(leftX-20*scale, leftY-20*scale, rightX+20*scale, rightY, mPaint);
不过,这并不在不同的屏幕改变其大小。结果我该怎么办?
But it does not change its size in different screen.
What can I do?
推荐答案
问题是在的getContext()getResources()getDisplayMetrics()密度。
该宏将会给你同样的dencity总是更好用下面的办法
The problem is in getContext().getResources().getDisplayMetrics().density;
it wil give you same dencity always better use the following approach
要获得密度使用以下code
To get density Use the following code
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenDensity = metrics.densityDpi;
所以你的code将
so your code will be
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float scale = metrics.densityDpi;
canvas.drawRect(leftX-20*scale, leftY-20*scale, rightX+20*scale, rightY, mPaint);
这篇关于绘制矩形哪些改变大小w.r.t不同的Android的屏幕尺寸的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!