android 计算高度,android – 如何在运行时计算屏幕高度和宽度?

我在

android中有以下类,我在其中定义了一些函数来计算屏幕上Bubbles的运动.

public class floatBubble {

private Bitmap img; // the image of the ball

private int coordX = 512; // the x coordinate at the canvas

private int coordY = 600; // the y coordinate at the canvas

private int id; // gives every ball his own id, for now not necessary

private static int count = 1;

private boolean goRight = true;

private boolean goDown = true;

public floatBubble(Context context, int drawable) {

BitmapFactory.Options opts = new BitmapFactory.Options();

opts.inJustDecodeBounds = true;

img = BitmapFactory.decodeResource(context.getResources(), drawable);

id=count;

count++;

}

public static int getCount() {

return count;

}

void setX(int newValue) {

coordX = newValue;

}

public int getX() {

return coordX;

}

void setY(int newValue) {

coordY = newValue;

}

public int getY() {

return coordY;

}

public int getID() {

return id;

}

public Bitmap getBitmap() {

return img;

}

public void moveBall(int goX, int goY) {

// check the borders, and set the direction if a border has reached

if (coordX > 1024){

goRight = false;

}

if (coordX < -100){

goRight = false;

coordX = 512;

coordY = 600;

}

if (coordY > 600){

goDown = false;

}

if (coordY < -100){

coordY = 600;

goDown = false;

}

// move the x and y

if (goRight){

coordX += goX;

}else

{

coordX -= goX;

}

if (goDown){

coordY += goY;

}else

{

coordY -= goY;

}

}

}

这是屏幕分辨率1024 * 600px.我想在运行时计算屏幕大小.意味着需要在运行时定义coordX和coordY.你能帮我修改代码吗?

我尝试在我的moveBall()中使用以下代码,但代码在那里没有用.

DisplayMetrics dm = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

coordX = dm.widthPixels;

coordY = dm.heightPixels;

有人可以提出解决方案吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值