안녕하세요. 현재 하려는 작업이
해당 디스플레이보다 긴 웹뷰를 올렸을때 웹뷰가 끝까지 보이지 않는 현상 과 고정 사이즈인 웹뷰를 디스플레이 크기에 맞게 보여주는 현상 을 잡고 싶습니다.
심플하게 예제 소스를 만들어 보았습니다.
웹뷰의 사이즈가 고정이여야 하는 이유는 타 디바이스와 좌표의 호환을 위한 작업입니다.
제 디스플레이가 높이가 2000인데 웹뷰 높이가 20000이면 일정 부분이상 안보이더라구요.. 스크롤 뷰를 감싸라는 글을 많이 봤지만 확대축소하여 캔버스를 올려야 하기 때문에 스크롤 뷰를 감쌀 수는 업습니다ㅠ..
어떻게 해결할 수 있을까요?? 간절합니다...
소스입니다.
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.WindowManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
public class ViewTestActivity extends Activity {
// private FullScrollView fsv;
// private Bitmap srcimg;
private int displayHeight;
private int displayWidth;
private String mode = "DRAW";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getDisplaySize();
WebView wv = new WebView(getBaseContext());
wv.setInitialScale(1);
wv.getSettings().setUseWideViewPort(true);
wv.getSettings().setLoadWithOverviewMode(true);
wv.setLayoutParams(new LinearLayout.LayoutParams(793,12018));
wv.setBackgroundColor(Color.GRAY);
String content = "엄청 긴 html이지만 올리다가 사이트가 멈춰서 글로 대신합니다..";
wv.loadData(content, "text/html; charset=utf-8", "UTF-8");
// wv.setWebViewClient(new WebViewClientClass());
wv.invalidate();
FrameLayout main_container = (FrameLayout) findViewById(R.id.createConsentnote_root);
main_container.addView(wv, 0);
}
}
도와주세요ㅠ