本文介绍了绘制矩形哪些改变大小w.r.t不同的Andr​​oid的屏幕尺寸的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想提请使用的改变其大小随不同的屏幕大小的画布的矩形。结果
这意味着,它的屏幕比例减小其尺寸的增大结果我用下面的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不同的Andr​​oid的屏幕尺寸的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-03 21:27
查看更多