package com.applite.androidallinone;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewTreeObserver;
import android.view.ViewTreeObserver.OnPreDrawListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class AtyScrollViewAndWebView extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.aty_scrollview_webview);
webView = (WebView) findViewById(R.id.wv_show);
//启用使用javascript
WebSettings webSettings=webView.getSettings();
webSettings.setJavaScriptEnabled(true);
// 覆盖webview默认通过第三方或者系统浏览器打开浏览器的行为
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 返回值为true 控制在webview中打开
// 返回值为false 控制在系统或者第三方中打开
view.loadUrl(url);
return true;
};
@Override
public void onPageFinished(WebView view, String url) {
}
});
//http://stackoverflow.com/questions/22878069/android-get-height-of-webview-content-once-rendered
ViewTreeObserver viewTreeObserver = webView.getViewTreeObserver();
viewTreeObserver.addOnPreDrawListener(new OnPreDrawListener() {
@Override
public boolean onPreDraw() {
int height = webView.getMeasuredHeight();
if( height != 0 ){
//Toast.makeText(getActivity(), "height:"+height,Toast.LENGTH_SHORT).show();
webView.getViewTreeObserver().removeOnPreDrawListener(this);
}
return false;
}
});
webView.loadUrl("http://www.sina.com");
}
}