Android 使用webview 初级
MainActivity.java
package com.aimanlu.luck; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.WindowManager; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private WebView mWebView; private boolean isExit = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //屏幕常亮 在 setContentView 上写 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // 隐藏状态栏 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE//状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。 | View.SYSTEM_UI_FLAG_FULLSCREEN//Activity全屏显示,且状态栏被隐藏覆盖掉。 | View.SYSTEM_UI_FLAG_LAYOUT_STABLE//这个标志来帮助你的应用维持一个稳定的布局。 | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY//全屏沉浸模式, | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION//效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);//隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。 //隐藏标题栏 ActionBar actionBar = getSupportActionBar(); actionBar.hide(); // Start // WebView mWebView = new WebView(this); // WebView mWebView = this.findViewById(R.id.webSite); // mWebView.getSettings().setJavaScriptEnabled(true); // mWebView.loadUrl("http://www.updateweb.cn"); //END //核心代码 // WebView mWebView = findViewById(R.id.webSite); mWebView = new WebView(this); //启动缓存 mWebView.getSettings().setAppCacheEnabled(true); //设置缓存模式 mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);//设置js可以直接打开窗口,如window.open(),默认为false mWebView.getSettings().setJavaScriptEnabled(true);//是否允许执行js,默认为false。设置true时,会提醒可能造成XSS漏洞 mWebView.getSettings().setSupportZoom(true);//是否可以缩放,默认true mWebView.getSettings().setBuiltInZoomControls(true);//是否显示缩放按钮,默认false mWebView.getSettings().setUseWideViewPort(true);//设置此属性,可任意比例缩放。大视图模式 mWebView.getSettings().setLoadWithOverviewMode(true);//和setUseWideViewPort(true)一起解决网页自适应问题 mWebView.getSettings().setDomStorageEnabled(true);//DOM Storage //在webview内部跳转web页面 mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); mWebView.loadUrl("http://www.updateweb.cn/"); setContentView(mWebView); // setContentView(R.layout.activity_main); } @Override // 设置回退 // 覆盖Activity 类的onKeyDown(int keyCoder KeyEvent event) 方法 public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { mWebView.goBack(); // goBack 表示返回WebView 的上一页面 return true; } if (!isExit) { isExit = true; Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); return false; } finish(); System.exit(0); return true; } }