一、相关知识
SearchView控件:
以下是几个简单网址:SearchView简单用法:
Android搜索框(SearchView)的功能和用法详解
Android搜索框SearchView属性和用法详解
关于各种搜素: http://android.xsoftlab.net/guide/topics/search/index.html
SearchBar控件:大家还可以尝试使用SearchBar控件
WebView控件: (巧妙使用该控件可以开发出很多有创意的应用,而且特别简单)
二、实验步骤
在Activity_main XML中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- 顶一个SearchView -->
<SearchView
android:id="@+id/sv"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!-- 建立一個WebView -->
<WebView
android:id="@+id/wv"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:background="@android:color/black"
android:focusable="false"
/>
</LinearLayout>
在MainActivity中
package bzu.edu.cn.happydirectory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.SearchView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private static SearchView searchView;
private static WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
searchView.setSubmitButtonEnabled(true);/// 设置该SearchView显示确认搜索按钮
webView.getSettings().setJavaScriptEnabled(true);//如果页面中使用了JavaScript,不加代码页面不显示
webView.setWebViewClient(new WebViewClient(){//如果不加此方法将会在浏览器中打开而不是运行的项目中重点内容
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
String strURI = (query);
strURI = strURI.trim();
//如果查询内容为空提示
if (query.isEmpty())
{
Toast.makeText(getApplicationContext(), "查询内容不能为空!", Toast.LENGTH_SHORT)
.show();
}
//否则则以参数的形式从http://dict.youdao.com/m取得数据,加载到WebView里.
else
{
String strURL = "http://dict.youdao.com/m/search?keyfrom=dict.mindex&q="
+ strURI;
webView.loadUrl(strURL);
}
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
}
public void init(){
searchView =(SearchView)findViewById(R.id.sv);
webView =(WebView)findViewById(R.id.wv);
}
}
三、运行结果图