본문 바로가기

Programming/과거포스팅

WebView의 화면 전환 처리

WebView에서 가로세로가 전환되면 WebView는 처음 로딩한 사이트를 다시 로딩해 버린다. 

그래서 화면전환 처리를 해줄 필요가 있는데 간단하다.

WebView가 있는 액티비티 파일에 다음 소스를 추가한다. 
@Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    }
onConfigurationChanged 메서드는 화면 전환시 호출해주는 메서드인데 다음과 같이 오버라이딩 해줌으로써 화면전환을 하여도 초기화면으로 돌아가지 않게 된다.

위의 코드 추가만으로 끝난게 아니다.

AndroidManifest.xml 파일에도 추가해줘야 할 부분이 있다.
<activity
   android:name="com.bookmac.main.WebView"
   android:label="@string/title_activity_main" 
   android:configChanges="keyboard|keyboardHidden|orientation">
activity에 밑줄친 부분을 추가해주면 된다.


위의 소스가 적용이 되지 않는 경우가 있다.
그럴 땐  AndroidManifest.xml의 activity에 위의 코드를 제거하고 아래 코드를 추가한다.
android:screenOrientation="portrait" //세로 고정
android:screenOrientation="landscape"  //가로 고정