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