2012-05-29 4 views
1

"asset"폴더에있는 로컬 자바 스크립트에서 데이터가 채워진 WebView가 있습니다. WebView는로드하는 데 몇 초가 걸리므로 장치 회전시이를 유지하고 싶습니다. 다른 부수적 인 효과가 있기 때문에 configChanges를 사용하고 싶지 않습니다.안드로이드 : 회전 후 Webview 콘텐츠 유지

가장 좋은 방법은 WebView에서 그림을 만들고 회전 할 때 WebView 대신 그림을로드하는 것이지만 그 방법을 알 수는 없습니다. 여기

내가 노력 코드입니다 :

Canvas canvas = new Canvas(); 
pictureNightDay.draw(canvas); 
Bitmap b = Bitmap.createBitmap(pictureNightDay.getWidth(), pictureNightDay.getHeight(),Config.ARGB_8888); 
myWebViewNightDay.draw(new Canvas(b)); 

그러나 이것은 단지 빈보기를 보여줍니다. 은 "pictureNightDay는"이전

pictureNightDay = myWebViewNightDay.capturePicture(); 

감사에 저장된, 안녕 마우리 치오

Developer Docs ('쿠키 및 창 관리'아래)에서

답변

0

나는 다음과 같은 답을했다 :

pictureNightDay = myWebViewNightDay.capturePicture(); 

(pictureNightDay가 있습니다 : 저는 두 뷰, 하나 개의 웹보기 한 이미지 뷰 (처음에 숨겨져)

저장 웹보기가로드 된 사진을 사용 정적 필드).

그런 다음 회전 검사에 pictureNightDay가 null이 아니고 이미지 뷰 및 웹보기 가시성을 교체하는 경우 : 나는 '그것은 내가 돈 몇 가지 부작용이 나는이 매니페스트에 configChanges을 사용하지 않으 말했듯이

ImageView im = (ImageView) l.findViewById(R.id.tripreport_tipology_imagenightday); 
im.setImageDrawable(new PictureDrawable(pictureNightDay)); 
im.setVisibility(View.VISIBILE); 
myWebViewNightDay.setVisibility(View.GONE); 
1

:

표준 행동 활동은 장치 방향이나 다른 구성이 변경 될 때 파괴되고 재생성됩니다. 그러면 WebView가 현재 페이지를 다시로드하게됩니다. 이를 원하지 않으면 방향 및 keyboardHidden 변경 사항을 처리하도록 Activity를 설정 한 다음 WebView 만 남겨 두십시오. 자동으로 적절한 방향으로 방향이 변경됩니다. 런타임 중에 구성 변경을 처리하는 방법에 대한 자세한 내용은 Handling Runtime Changes을 참조하십시오.

변경 사항 중에 시스템에 유지하고자하는 내용이 있으면 시스템 유지 사항이 적용됩니다. 나는 이것이 훌륭한 시스템이라고 말해야한다. 매번 내가 어려운 일을해야한다고 생각할 때, 약간의 검색은 시스템이 나를 위해 그것을 할 수있는 방법을 찾는다. 마침내

+0

을 대처하고 싶지 않다. – Maurix