Android 元素在不同屏幕上更改大小

Android 元素在不同屏幕上更改大小,android,libgdx,position,Android,Libgdx,Position,我得到了这个图像按钮,它被放在一张桌子上,并作为演员添加到舞台上。它在我的手机上看起来很棒,但当我在我的平板电脑上运行时,按钮太大而且位置不合适。我在舞台上声明了这样一个视口(我也尝试了不同类型的视口): 然后这是调整大小的方法: public void resize(int width, int height) { stageButton.getViewport().update(width, height, true); table.setBounds(backBut

我得到了这个图像按钮,它被放在一张桌子上,并作为演员添加到舞台上。它在我的手机上看起来很棒,但当我在我的平板电脑上运行时,按钮太大而且位置不合适。我在舞台上声明了这样一个视口(我也尝试了不同类型的视口):

然后这是调整大小的方法:

public void resize(int width, int height) {



    stageButton.getViewport().update(width, height, true);

    table.setBounds(backButtonW, backButtonH, buttonSizew, buttonSizeH);
    stageText.getViewport().update(width, height, true);
    view.update(width, height);
    camera.position.set(camera.viewportWidth/2, camera.viewportHeight/2, 0);
    //camera.update();
}
我只是简单地将尺寸和位置设置如下:

public static  float buttonSizeH = 110;
public static  float buttonSizew = 110;
table.add(btnArrow).pad(30).size(buttonSizew, buttonSizeH);
    table.add(btnFB).size(buttonSizew, buttonSizeH);

    table.setBounds(backButtonW, backButtonH, buttonSizew, buttonSizeH);
如果重要的话,这就是我用视口设置相机的方式:

camera = new OrthographicCamera();
    view = new StretchViewport(screenWidth, screenHeight,camera);
    view.apply();

    camera.position.set(camera.viewportWidth/2, camera.viewportHeight/2, 0);

那就要发生了。您使用的是像素大小,但并非所有设备上的像素大小都相同。你不应该在Android上使用固定尺寸,如果你是,你需要准备好让它在不同的设备上看起来不同。本指南没有使用您的游戏引擎,但它应该让您了解在UI设计中需要记住的问题:不,我宁愿使用正确的方法。如果不使用像素,我应该如何定义大小?让应用程序在各种设备上统一运行是Android开发的一个重要部分。你应该看看分辨率、像素和像素密度之间的区别。好的,谢谢,我会的,我已经开始了。已转换我的相机等,因此不再以像素为单位声明。但我还是觉得这些按钮有问题。它们仍然出现在我的平板电脑屏幕外。
camera = new OrthographicCamera();
    view = new StretchViewport(screenWidth, screenHeight,camera);
    view.apply();

    camera.position.set(camera.viewportWidth/2, camera.viewportHeight/2, 0);