Android开发之常用框架WebView详解代码。超详细,送给初学者,完全掌握此控件
2024-09-04 00:15:55
这是我特意为新手小白写的一个代码,教大家完完全全掌握WebView,
我感觉,你看懂这个,基本上可以满足以后工作中的需要了,(只针对Webview的使用),但是其实它还有好多功能,比如真正的设计到和HTML5交互的时候,它的功能很强大的,如果想深入学习的,自己再看资料吧,保证你看完此代码,完完整整的掌握WebView;
作者:程序员小冰,深夜来写,转载请说明出处。
package www.jiusansec.cc.webviewdemo;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
/**
* @author :程序员小冰:QQ986945193
*
* @新浪微博 :http://weibo.com/mcxiaobing
*
* @version V1.0正式版
*
* @process
*
* @Note
*
* @dateTime ${date}${time}
*
* ${tags}
*/
/**
* WebView Demo练习
*
* 加载一个网页
*/
public class MainActivity extends AppCompatActivity {
private WebView webView;
private static final String url = "http://my.csdn.net/qq_21376985";
private ProgressDialog progressDialog;
/**
* 初始化控件
*/
private void assignViews() {
webView = (WebView) findViewById(R.id.web_view);
progressDialog = new ProgressDialog(MainActivity.this);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
assignViews();
}
/**
* 点击进行跳转
*/
public void showWebview(View view){
//获取websetings 设置
WebSettings settings = webView.getSettings();
settings.setSupportZoom(true);
//设置浏览器支持javaScript
settings.setJavaScriptEnabled(true);
//设置打开自带缩放按钮
settings.setBuiltInZoomControls(true);
// 进行跳转用户输入的url地址
webView.loadUrl(url);
webView.setWebChromeClient(new WebChromeClient() {
@Override
//速度正在改变
public void onProgressChanged(WebView view, int newProgress) {
progressDialog.setMessage("加载" + newProgress);
Log.d("1507", "5");
}
});
webView.setWebViewClient(new WebViewClient(){
@Override
// 显示读渠道的内容
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
Log.d("1507", "3");
return true;
}
/**
* 页面开始的时候 回调此方法
* @param view
* @param url
* @param favicon
*/
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
if (progressDialog == null){
progressDialog.setMessage("加载中。。。。。。。。。。。");
}
Log.d("1507","1");
progressDialog.show();
}
/**
* 页面结束的时候 回调此方法
* @param view
* @param url
*/
@Override
public void onPageFinished(WebView view, String url) {
progressDialog.dismiss();
// Log.d("1507", "1");
}
});
}
/**
* 返回
* @param keyCode
* @param event
* @return
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
/**
* webview.canGoBack()判断webview能否后退
*/
if (keyCode == KeyEvent.KEYCODE_BACK&& webView.canGoBack()){
//webView后退
webView.goBack();
}
return super.onKeyDown(keyCode, event);
}
}
最新文章
- java面向对象_抽象类和接口
- servlet的session为null?
- CCNA网络工程师学习进程(2)基本的网络设备
- iOS一些系统事件的生命周期
- 函数buf_page_init_for_read
- iOS 获取设备型号以及IP地址
- hdu 5430 Reflect (数学推导题)
- [ An Ac a Day ^_^ ] CodeForces 426C Sereja and Swaps 优先队列
- javascript string去除两边空格
- 多线程爬坑之路-ThreadLocal源码及原理的深入分析
- JAVA基础——面向对象三大特性:封装、继承、多态
- 在Web中获取MAC地址
- yarn安装使用
- 题解——CF Manthan, Codefest 18 (rated, Div. 1 + Div. 2) T2(模拟)
- Business.Startup.Learning from Startup Mistakes at SpringSource
- 在使用Git提交代码的时候犯了个低级错误
- DeepID人脸识别算法之三代
- 解决eslint空格报错等问题
- JSP共享javabean
- 如何在Windows系统下隐藏文件