package com.baweinewstoday.activity; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.KeyEvent; import android.view.Menu; import android.view.View; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.ProgressBar; import com.baweinewstoday.R; public class WebActivity extends AppCompatActivity { private Button bt_back; private ProgressBar pb; private WebView web; private String url; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web); Intent intent = getIntent(); url = intent.getStringExtra("url"); initView(); setwebView(); } //设置webview private void setwebView() { WebSettings webSettings = web.getSettings(); //设置WebView属性,能够执行Javascript脚本 webSettings.setJavaScriptEnabled(true); //设置可以访问文件 webSettings.setAllowFileAccess(true); //设置支持缩放 webSettings.setBuiltInZoomControls(true); //加载需要显示的网页 web.loadUrl(url); web.setWebViewClient(new webViewClient ()); web.setWebChromeClient(new WebChromeClient(){ @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); } @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); pb.setProgress(newProgress); } }); web.setWebViewClient(new WebViewClient(){ @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); pb.setVisibility(View.INVISIBLE); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. return true; } @Override //设置回退 //覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法 public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) { web.goBack(); //goBack()表示返回WebView的上一页面 return true; } finish();//结束退出程序 return false; } //Web视图 private class webViewClient extends WebViewClient { public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } private void initView() { bt_back = (Button) findViewById(R.id.bt_back); pb = (ProgressBar) findViewById(R.id.pb); web = (WebView) findViewById(R.id.web); bt_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); } }
WebView网络加载
最新推荐文章于 2024-12-05 21:23:57 发布