2012-10-08 4 views
0

화면의 치수를 얻는 방법을 알고 있습니다. 나는 그 안의 치수를 얻을 수있게하는 runnable을 만들고 있었다.방향이 바뀌면 화면의 치수가 어떻게됩니까? [안드로이드]

내 장치를 돌릴 때 크기가 올바르게 반환되지 않는 것 같습니다.

나는 장치를 회전시킬 때 firre처럼 보이는 onConfigurationChanged()를 수행하려고 생각하고있었습니다. 나는 다음과 같은 일을 시도했지만 그것이 유효한 데이터를 제공하고 있다고 생각하지 않는다.

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

하지만 올바른 것은 아닙니다. 내가 만든 항목을 화면 주위로 이동하려고했는데 화면의 가장자리로 이동하지 않았습니다. 나는 그것이 내 드래그 기능과 관련이 없다고 생각한다.

치수가 잘못되었다고 느낍니다.

어떻게 처리하나요? 나는 올바른 길을 가고 있는가?

+0

시도해 보셨습니까? [http://stackoverflow.com/a/1016941/1729781][1] [1]의 http://stackoverflow.com/a/1016941/1729781 – Agata

+0

참이 저 차원주고 있었다 전체 화면. 지금 당장, 내가 한 일은 바로 그 문제를 우회하는 활동을 재개하고 작동하지만, IMO가 그것을 처리 할 수있는 최선의 방법은 아닙니다. 작동하는 것처럼 보이게 된 것은 새로운 API를위한 것입니다. ... 그리고 나는 API7 이전 버전을 사용하고 있습니다. – Fallenreaper

답변

0

내가 만든 회피 방법은 onConfigurationChange()를 사용하여 특성이있는 번들을 만든 다음 onCreate()를 호출하는 것입니다. 본질적으로 이는 새로운 방향으로 재현됩니다.

이것은 내가이 문제를 해결하기 위해 한 것이었고 레이아웃이 다시 렌더링되도록했습니다.

Bundle b = new Bundle(); 
b.putString("test","data here"); 
onCreate(b); 
관련 문제