2012-12-06 3 views
1

기기를 회전 할 때 방향을 사용하고 싶습니다. 일반적으로 이것은 자동으로 발생하지만이 로컬 웹 브라우저에서는 발생하지 않습니다. 세로로로드되지만 장치가 기울어 진 방식에 따라 방향을 변경하고 싶습니다. 은/자산 내가 가진기기 회전시 Android WebView의 방향이 변경되지 않습니다.

는 adjectives.html

// In Activity 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    WebView wv = new WebView(this); 
    setContentView(wv); 
    wv.getSettings().setBuiltInZoomControls(true); 
    wv.loadUrl("file:///android_asset/adjectives.html"); 

} 


// In manifest 
    <activity android:name=".WebViewActivity" 
       android:configChanges="orientation|keyboardHidden">  
    </activity> 

어떤 아이디어 폴더?

+0

기기에서 회전 기능을 사용할 수 있는지 확인 했습니까? – vodich

+0

감사합니다. 그것은 조금 당혹 스럽지만 어떤 이유인지, 꺼졌습니다. 다시 전환하여 문제를 해결했습니다. – TomVeitch

+0

사람들이 독서에서 사람들이 실제로 어떤 일이 일어 났는지 나중에 볼 수 있도록 대답으로 추가했습니다. – vodich

답변

1

android:configChanges을 사용하면 특정 변경 사항이 자동으로 처리되지 않으므로 직접 처리해야합니다.

이 작업을 수행하려면 onConfigurationChanged(Configuration newConfig)을 무시하고 newConfig을 확인하여 새로운 Configuration이 무엇인지 확인해야합니다. 변경 사항이 방향과 관련된 경우 새 콘텐츠보기를 설정해야합니다. (특정 이유를하지 않음이없는 경우) 넣어

가장 쉬운 것은 android:configChanges에서 orientation을 제거하는 것입니다 귀하의 WebView 레이아웃 XML 파일 내부와 onCreate(...)에서 콘텐츠보기 위해 그것을 사용합니다. 이렇게하면 오리엔테이션 변화의 기본 '자동'처리가 허용됩니다.

+0

요약 해 주셔서 감사합니다. 이제 안드로이드 : configChanges 뒤에있는 디자인 원칙을 이해합니다. 그러나 문제는 해결되었습니다. 기기에서 순환 게재가 사용 중지되어 있어야합니다. 그것을 가능하게하고 나는 비록 내가 configChanges = "오리엔테이션"을 가지고 있다고해도 나는 원하는 자동 회전을 가지고있다! – TomVeitch

+0

나는 그것이 어떻게 지금 작동하는지 이해한다. 기본값으로 방향은 자동입니다. 장치 기울기에서 방향을 제어 (꺼짐, 켜짐, 다른 작업 수행)하려면 매니페스트에 android : configChanges = "orientation"을 추가하고 onConfigurationChanged (Configuration newConfig)를 재정의해야합니다. 이 방법은 장치 틸트 (manifest에서 "configChanges ="orientation "을 설정 한 경우)에서 실행되며 원하는대로 코드를 작성할 수 있습니다. 코드를 작성하지 않으면 자동 방향 지정의 기본 동작이 작동합니다. – TomVeitch

1

기기에서 회전 기능을 사용할 수 있는지 확인 했습니까?

관련 문제