마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

WebView 상단부터 나오게하기

0 추천

웹뷰를 로딩했는데 크롬에서는 정상인데

높이가 무한대로 늘어나버리는 현상이 나오던데

https://capdroid.wordpress.com/2014/08/07/resizing-webview-to-match-the-content-size/

@JavascriptInterface
public void resize(final float height) {
    getActivity().runOnUiThread(new Runnable() {
        @Override
        public void run() {
            webView.setLayoutParams(
                    new FrameLayout.LayoutParams(getResources().getDisplayMetrics().widthPixels,
                            (int) (height * getResources().getDisplayMetrics().density)));
            webView.scrollTo(0,0);
        }
    });
 
@Override
public void onPageFinished(WebView view, String url) {
    webView.loadUrl("javascript:MyApp.resize(document.body.getBoundingClientRect().height)");
    super.onPageFinished(view, url);
}
 
webView.addJavascriptInterface(this, "MyApp");

요거대로 하니 정상작동은 되더라구요.

그런데 이제 웹뷰안에서 페이지 이동시 간헐적으로 몇몇 페이지들은 

중간이나 하단부터 나와서 스크롤을 한참 위로 올려야되더라구요

scriptInterface에서 webview.scrollTo(0,0) 해도안먹고

onPageFinished()에서 view.scrollTo(0,0)해도 안되더라구요

방법이 없을까요??

 

 

show7777 (1,170 포인트) 님이 2021년 7월 9일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...