티스토리 뷰

반응형

[android/orientation] android orientation 정보 가져오기(LANDSCAPE 가로/PORTRAIT 세로)

 

안드로이드의 가로 세로 정보를 가져오는 방법

 

#AndroidManifest.xml

 android:configChanges="orientation|screenSize|keyboardHidden" 추가

<activity
    android:name=".MainActivity"
    android:configChanges="orientation|screenSize|keyboardHidden"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

 

#MainActivity

onConfigurationChanged Override 후 다음 내용추가

@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
    if (newConfig.orientation ==
            android.content.res.Configuration.ORIENTATION_LANDSCAPE)
        Toast.makeText(this, "가로 모드로 변경되었습니다.",Toast.LENGTH_LONG).show();
    else if (newConfig.orientation ==
            android.content.res.Configuration.ORIENTATION_PORTRAIT)
        Toast.makeText(this, "세로 모드로 변경되었습니다.", Toast.LENGTH_LONG).show();
    super.onConfigurationChanged(newConfig);
}

 

원하는 환경에서 

 

android.content.res.Configuration 정보를 가져와서 

ORIENTATION_LANDSCAPE
ORIENTATION_PORTRAIT 

중 하나의 값으로 비교하면된다.

 

정의 부를 살펴보면

public static final int ORIENTATION_LANDSCAPE = 2;
public static final int ORIENTATION_PORTRAIT = 1;

다음과 같이 정의 되어있다,

2 / 1같은 int 함수로 값을 걸러도된다.

 

 

 

 

 

#portrait #ladscape #회전 상태 #orientation #가로값 #세로값 #가로 #세로 #기울기 #rotate

반응형
댓글
반응형