WebView控件应用——模仿URL有道词典
来源:互联网 发布:淘宝买家数据采集 编辑:程序博客网 时间:2024/06/01 09:29
一、项目开发
1、开发介绍
1)、//得到WebSettings对象,设置支持JavaScript的参数
webView.getSettings().setJavaScriptEnabled(true);
2)、//设置可以支持缩放
webView.getSettings().setSupportZoom(true);
3)、//设置默认缩放方式尺寸是far
webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
4)、//设置出现缩放工具
webView.getSettings().setBuiltInZoomControls(true);
WebViewClient, WebViewClient,作用是帮助WebView处理各种通知、请求事件的,其中常用的方法:
onLoadResource:加载对应网址的资源。
onPageStart:开始加载网页。
onPageFinish:加载网页完毕。
onReceiveError:报告错误信息。
shouldOverrideUrlLoading:在WebView显示网页。
2、项目运行效果图
二、编写项目讲解
1、项目文件
2、项目布局文件activity.xml修改代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" ><LinearLayout android:layout_weight="5" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#5C4033" android:gravity="center" android:orientation="horizontal"> <EditText android:id="@+id/etWord" android:layout_width="wrap_content" android:layout_height="51dp" android:background="@drawable/shape_et" android:ems="9" android:hint="请输入查询词语" > <requestFocus /> </EditText> <Button android:id="@+id/btnSelect" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/shape_yes" android:text="查询" /> <Button android:id="@+id/btnDelete" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/shape_no" android:text="取消" /></LinearLayout><LinearLayout android:layout_weight="1" android:layout_width="match_parent" android:layout_height="match_parent" > <WebView android:id="@+id/wvShow" android:layout_width="match_parent" android:layout_height="match_parent" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="25sp" /> </LinearLayout></LinearLayout>
其中的布局中 shape_et.xml,shape_yes.xml,shape_no.xml文件修改如下:
shape_et.xml:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#00ff00ff"/> <corners android:radius="8px"/> <stroke android:color="#E47833" android:width="2px" /> </shape>
</pre><p><span style="font-size:18px;">shape_yes.xml:</span></p><span style="font-size:18px;"></span><pre class="java" name="code"><?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#00ff00ff"/> <corners android:radius="8px"/> <stroke android:color="#32CD32" android:width="2px" /> </shape>
shape_no.xml:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#00ff00ff"/> <corners android:radius="8px"/> <stroke android:color="#FF0000" android:width="2px" /> </shape>
3、修改MianActivity.xml文件如下:
package cn.edu.bzu.example.webview;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.Window;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {private EditText etWord;private Button btnYes,btnNo;private WebView wvWord; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //去除标题 requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); findBy(); //查询按钮添加事件 btnYes.setOnClickListener(new Button.OnClickListener() { public void onClick(View arg0) { String strURI = (etWord.getText().toString()); strURI = strURI.trim(); //如果查询内容为空提示 if (strURI.length() == 0) { Toast.makeText(MainActivity.this, "查询内容不能为空!", Toast.LENGTH_LONG) .show(); } //否则则以参数的形式从http://dict.youdao.com/m取得数据,加载到WebView里. else { String strURL = "http://dict.youdao.com/m/search?keyfrom=dict.mindex&q=" + strURI; //设置WebView属性,能够执行JavaScript脚本 wvWord.getSettings().setJavaScriptEnabled(true); //设置web视图客户端 wvWord.setWebViewClient(new MyWebViewClient()); wvWord.loadUrl(strURL); } } }); //http://dict.youdao.com/m/search?keyfrom=dict.mindex&q=happy //清空按钮添加事件,将EditText置空 btnNo.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { etWord.setText(""); } }); } private void findBy() {// TODO Auto-generated method stubetWord=(EditText) findViewById(R.id.etWord);btnYes=(Button) findViewById(R.id.btnSelect);btnNo=(Button) findViewById(R.id.btnDelete); wvWord = (WebView) findViewById(R.id.wvShow);} //web视图 class MyWebViewClient extends WebViewClient { public boolean shouldOverviewUrlLoading(WebView view,String url) { view.loadUrl(url); return true; } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; }//2、Button的OnClick方法/*private void btnYesClick(View view) { String strURI = etWord.getText().toString(); strURI = strURI.trim(); //如果查询内容为空提示 if (strURI.length() == 0) { Toast.makeText(MainActivity.this, "查询内容不能为空!", Toast.LENGTH_LONG) .show(); } //否则则以参数的形式从http://dict.youdao.com/m取得数据,加载到WebView里. else { //String strURL = "http://www.baidu.com"; String strURL = "http://dict.youdao.com/m/search?keyfrom=dict.mindex&q=" + strURI; wvWord.loadUrl(strURL); }} @SuppressWarnings("unused")private void btnNoClick(View View) { etWord.setText("");}*/}
注意:在文件AndroidManifest.xml文件中加入获取联网权限,代码如下:
<!-- 获取联网权限--><uses-permission android:name="android.permission.INTERNET"/>
- WebView控件应用——模仿URL有道词典
- 使用android的webview控件访问有道词典的url
- 有道词典(对WebView的应用)
- 有道词典Demo(WebView)
- WebView实现有道词典
- 有道词典Demo(WebView)
- 有道词典Demo(WebView)
- 有道词典-WebView
- 有道词典Demo(WebView)
- 有道词典Demo(WebView)
- 有道词典Demo(WebView)
- 有道词典Demo(WebView)
- 有道词典Demo(WebView)
- 有道词典Demo(WebView)
- 有道词典Demo(WebView)
- 有道词典Demo(WebView)
- 有道词典Demo(WebView)
- 练习:WebView控件使用(链接有道词典查单词)
- Stanford机器学习---第十一讲.异常检测
- iOS UILabel
- shopnc b2b2c初次运行提示Class Error: mysqli.isn't exists!的解决方法
- zoj2412
- 黑马程序员---2015.6.26java基础笔记--File类--Properties--PrintStream--SequenceInputStream--RandomAccessFile
- WebView控件应用——模仿URL有道词典
- 为什么使用portlet?
- 金士顿KTD-INSP6000C/2G内存
- iOS-学习笔记-UI-第十九天
- 在Android APK中调用底层linux命令或者脚本
- JS Library Set
- springLdap 操作ldap示例(增删改查)
- 升级旧Delphi应用转向支持手机的一个思路
- 插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N