Tôi có lớp học sau trong android, nơi tôi đang xác định một số chức năng để tính chuyển động của Bong bóng trên màn hình.Làm cách nào để tính chiều cao và chiều rộng màn hình tại thời gian chạy?
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;
}
}
}
Điều này cho độ phân giải màn hình 1024 * 600px. BUT Tôi muốn tính toán màn hình khi chạy. có nghĩa là cần phải xác định phối hợp và phối hợp khi chạy. Bạn có thể giúp tôi trong việc sửa đổi mã.
Tôi đã cố gắng sử dụng mã sau trong moveBall() của tôi, nhưng mã không hoạt động ở đó.
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
coordX = dm.widthPixels;
coordY = dm.heightPixels;
Bất kỳ ai cũng có thể đề xuất giải pháp?