Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android中获得屏幕大小?_Java_Android_Random_Screen - Fatal编程技术网

Java 如何在android中获得屏幕大小?

Java 如何在android中获得屏幕大小?,java,android,random,screen,Java,Android,Random,Screen,我正在用Java编写一个应用程序,我想在屏幕上随机放置一个按钮。 我使用了Display.getSize(),但它提供了整个屏幕的大小,包括返回、主页和最近活动按钮的底部栏。因此,我的按钮,是随机位于屏幕上,往往是隐藏在这个酒吧。在我的计算中,我怎样才能考虑到这个条的关联 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R

我正在用Java编写一个应用程序,我想在屏幕上随机放置一个按钮。 我使用了Display.getSize(),但它提供了整个屏幕的大小,包括返回、主页和最近活动按钮的底部栏。因此,我的按钮,是随机位于屏幕上,往往是隐藏在这个酒吧。在我的计算中,我怎样才能考虑到这个条的关联

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_hiding_buttons);

    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();

    display.getSize(size);
    SCREEN_WIDTH = size.x;
    SCREEN_HEIGHT = size.y;

}

public void button_hideButtonClick(View view) {
    // init button location to beginning position
    view.offsetLeftAndRight(-horizonOffset);
    view.offsetTopAndBottom(-verticalOffset);

    Random r = new Random();

    // generate random pos relative to the screen
    horizonOffset = r.nextInt(SCREEN_WIDTH-view.getWidth());
    verticalOffset = r.nextInt(SCREEN_HEIGHT-view.getHeight());

    // relocate the button randomly
    view.offsetLeftAndRight(horizonOffset);
    view.offsetTopAndBottom(verticalOffset); 

}
getWindowManager().getDefaultDisplay().getMetrics(dm); int width=dm.widthPixels; int height=dm.heightPixels; int dens=dm.densityDpi; 双wi=(双)宽度/(双)密度; 双高=(双)高/(双)密度; 双x=数学功率(wi,2); 双y=数学功率(hi,2); 双屏幕英寸=数学sqrt(x+y)

如前所述


试试这个..如果它不起作用,请告诉我..它还会告诉您一些其他选项..

它与我在onCreate方法中所写的相同。它确实以像素为单位返回,但它包括屏幕底部的工具栏。您是否使用大写字母显示上下文?无论如何,它说getWindowManager不是它的一种方法。。。
DisplayMetrics dm = new DisplayMetrics();