WebView入门
来源:互联网 发布:ctr预估算法 编辑:程序博客网 时间:2024/05/17 07:51
今天简单介绍一下WebView的使用
- 定义XML文件 输入框 进度条 WebView控件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <EditText android:id="@+id/et_urlPath" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="输入网址" android:text="http://www.baidu" /> <ProgressBar android:id="@+id/progressbar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone" /> <WebView android:id="@+id/webView" android:layout_width="fill_parent" android:layout_height="fill_parent" /></LinearLayout>
- 代码实现
package com.example.webviewdemo;import android.os.Bundle;import android.annotation.SuppressLint;import android.app.Activity;import android.text.Editable;import android.text.TextWatcher;import android.view.KeyEvent;import android.view.View;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebSettings.TextSize;import android.webkit.WebSettings.ZoomDensity;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.EditText;import android.widget.ProgressBar;import android.widget.TextView;import android.widget.TextView.OnEditorActionListener;public class MainActivity extends Activity { private EditText et_urlPath; private ProgressBar progressbar; private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 查找控件 et_urlPath = (EditText) findViewById(R.id.et_urlPath); progressbar = (ProgressBar) findViewById(R.id.progressbar); webView = (WebView) findViewById(R.id.webView); // 设置作为客户端存在,界面跳转只在自己应用程序中 webView.setWebViewClient(new WebViewClient()); // 设置客户端浏览监听 webView.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); // 设置进度显示 progressbar.setVisibility(View.VISIBLE); // 设置进度 progressbar.setProgress(newProgress); if (newProgress == 100) { // 进度到头,消失 progressbar.setVisibility(View.GONE); } } }); //调用对webView做初始化设置的方法 initWebViewSetting(); //文本框设置监听et_urlPath.addTextChangedListener(new TextWatcher() { // s 代表文本框输入的内容 @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // 判断输入的内容以 ".com" 结尾 boolean endsWith = s.toString().trim().endsWith(".com"); if (endsWith) { //加载链接 webView.loadUrl(s.toString().trim()); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); } /** * 对webView做初始化设置 */ @SuppressLint("SetJavaScriptEnabled") @SuppressWarnings("deprecation") private void initWebViewSetting() { // 获取设置对象 WebSettings settings = webView.getSettings(); // 设置webView的缓存方式 设置为默认方式 // 默认如果有缓存,并且缓存未过期,使用缓存,否则使用网络 settings.setCacheMode(WebSettings.LOAD_DEFAULT); // 设置支持js代码 settings.setJavaScriptEnabled(true); // 设置缩放模式 缩放到最小 settings.setDefaultZoom(ZoomDensity.FAR); // 设置字体大小 settings.setTextSize(TextSize.SMALLER); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { // 判断我的界面,如果在里边一层,退一层,如果最外层 if (webView.canGoBack()) { //后退 webView.goBack(); } else { finish(); } } return true; }}
- 添加权限
<uses-permission android:name="android.permission.INTERNET"/>
0 0
- WebView入门
- webview使用入门
- WebView的简单入门
- webview入门使用
- WebView视图入门2
- Android之webView入门
- WebView初级入门
- webview快速入门
- webview使用入门(1)
- webview使用入门(2)
- ios开发入门- WebView使用
- Android入门--WebView使用总结
- WebView---Android与Javascript交互之入门
- Android入门级之WebView的使用
- Android基础入门之WebView(一)
- WebView
- WebView
- WebView
- Poj1228 Grandpa's Estate
- 鸟哥Java学习之构造函数、this、static关键字-面向对象
- 本地代码托管到github
- HttpUtils&Pull解析XML
- Android中attrs.xml文件的使用详解
- WebView入门
- 鸟哥Java学习之单例设计、继承-面向对象
- Linux内核栈与用户栈分析
- poj 3084(最小割)
- gcc的使用以及编写简易的Makefile
- 用xml定义属性动画
- WAMPSerrver集成环境的下载安装
- 腾讯云ubuntu系统获取root权限
- 欢迎使用CSDN-markdown编辑器