Android第二十七期 - webView
程序员文章站
2023-12-23 20:49:33
...
自己新建一个项目弄弄吧:
activity:
public class School_ggtz extends Activity {
private WebView webView;
private String url;
private ImageView iv_school_title;
private TextView tv_school_content;
private ProgressDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_school_xxgk);
iv_school_title = (ImageView) findViewById(R.id.iv_school_title);
iv_school_title.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
finish();
}
});
tv_school_content = (TextView) findViewById(R.id.tv_school_content);
tv_school_content.setText(getResources().getString(
R.string.school_ggtz_content));
webView = (WebView) findViewById(R.id.id_webview);
url = getResources().getString(R.string.school_ggtz);
webView.loadUrl(url);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
WebSettings settings = webView.getSettings();
settings.setSupportZoom(true);
settings.setBuiltInZoomControls(true);
settings.setDisplayZoomControls(false); // 隐藏webview缩放按钮
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
settings.setJavaScriptEnabled(true);
settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
// TODO Auto-generated method stub
// newProgress 1-100之间的整数
if (newProgress == 100) {
// 网页加载完毕,关闭ProgressDialog
closeDialog();
} else {
// 网页正在加载,打开ProgressDialog
openDialog(newProgress);
}
}
private void closeDialog() {
// TODO Auto-generated method stub
if (dialog != null && dialog.isShowing()) {
dialog.dismiss();
dialog = null;
}
}
private void openDialog(int newProgress) {
// TODO Auto-generated method stub
if (dialog == null) {
dialog = new ProgressDialog(School_ggtz.this);
dialog.setTitle("正在加载");
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setProgress(newProgress);
dialog.show();
} else {
dialog.setProgress(newProgress);
}
}
});
}
}
xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical" >
<include layout="@layout/activity_school_title" />
<WebView
android:id="@+id/id_webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none" />
</LinearLayout>
效果图:PS:可以缩放,并且支持双击Max,支持脚本。
转载于:https://blog.51cto.com/liangxiao/1604052