2011-05-16 2 views
1

가능한 중복 : 장치를 회전 할 때 다른 풍경 대 한 풍경을 감지 할 수
How to detect landscape left (normal) vs landscape right (reverse) with support for naturally landscape devices?안드로이드에서 두 풍경을 모두 감지 할 수 있습니까?

이 가능합니까?

@Override 
public void onConfigurationChanged(Configuration newConfig) 
{ 
    super.onConfigurationChanged(newConfig); 

    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) 
    { 
     Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); 
    } 
    else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) 
    { 
     Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); 
    } 
} 

작동하지만 다른 레이아웃을 표시하고 싶을 때 휴대 전화의 어느쪽에 있는지 확인할 수 있는지 확인하고 싶습니다.

답변

3

Android 2.2 이상을 실행하는 기기의 경우 가능합니다. 자세한 내용은 this blog post을 확인하거나 skip to the punchline을 참조하십시오.

+0

완벽하게, 나는 2.2+를 위해 만들고 있는데, 무엇이'getRotation()'의 앞에 있는가? 나는'this.getRotation();'을 시도했지만 클래스에 해당 메소드를 사용할 수 없다고 말했습니다. – Ronnie

+2

디스플레이 표시 = ((WindowManager) getSystemService (Context.WINDOW_SERVICE)). getDefaultDisplay(); int orientation = display.getRotation(); – Haphazard

+0

우수한, 완벽하게 작동합니다, 많이 고마워요! – Ronnie

관련 문제