当方向改变时,如何获得屏幕的尺寸? [机器人]

时间:2012-10-08 17:35:32

标签: java android android-layout orientation

我知道如何获得屏幕尺寸onCreate。我正在制作一个可运行的,这将允许我获得其中的尺寸。

问题在于,当我旋转设备时,它似乎无法正确返回尺寸。

我想在onConfigurationChanged()上做这个,因为当我旋转我的设备时,它似乎很坚固。我试图做以下事情,但我不认为它提供了有效的数据。

Rect r = new Rect();
Window win = getWindow();
win,getDecorView().getWindowVisibleDisplayFrame(r);
int height = r.height();
int width = r.width();

但似乎他们不正确。我试图在屏幕上移动一个创建的项目,它不会进入屏幕的边缘。我不认为它与我的拖动功能有任何关系。

我觉得尺寸不正确。

这是怎么做到的?我是在正确的道路上吗?

1 个答案:

答案 0 :(得分:0)

我创建的解决方法是onConfigurationChange()我创建了一个包含属性的包,然后调用onCreate()。基本上这将在新方向中重新创建。

这就是我为解决这个问题而采取的措施,它使布局得以重新渲染。

Bundle b = new Bundle();
b.putString("test","data here");
onCreate(b);