布局文件一个输入框,按钮,还有进度条,webview,三个按钮实现
<?xml version="1.0" encoding="utf-8"?>
MainActvity实现功能模块
public class MainActivity extends Activity {
private EditText etWww;
private Button btnSou;
private WebView wv;
private ProgressBar pb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
initView();
}
private void initView() {
etWww = findViewById(R.id.et_www);
pb = findViewById(R.id.pb);
wv = findViewById(R.id.wv);
//初始化webview
webVIewInit();
//初始化webViewSettings对webVIew进行初始化设置
webViewSettingsInit();
}
private void webVIewInit() { //使用webView对象,进行的一些初始化设置
wv.setWebViewClient(new WebViewClient());
wv.requestFocus();
wv.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
pb.setVisibility(View.VISIBLE);
pb.setProgress(newProgress);
if (newProgress == 100) {//判断进度条加载到百分百才显示出网页
pb.setVisibility(View.GONE);
}
super.onProgressChanged(view, newProgress);
}
});
}
private void webViewSettingsInit() {
WebSettings settings = wv.getSettings();
settings.setJavaScriptEnabled(true);
settings.setSupportZoom(true);
}
public void sou(View view) {//搜索
String trim = etWww.getText().toString().trim();
if (TextUtils.isEmpty(trim)) {
Toast.makeText(this, "不能输入为空", Toast.LENGTH_SHORT).show();
return;
}
wv.loadUrl("http://" + trim);
}
public void refresh(View view) {//刷新
wv.reload();
}
public void advance(View view) {//前进
if (wv.canGoForward()) {
wv.goForward();
} else {
Toast.makeText(this, "数据已经加载完了", Toast.LENGTH_SHORT).show();
}
}
public void back(View view) {//后退
if (wv.canGoBack()) {
wv.goBack();
} else {
Toast.makeText(this, "后面没有数据了", Toast.LENGTH_SHORT).show();
}
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
if (wv.canGoBack()) {
wv.goBack();
} else {
Toast.makeText(this, "已经退到最后拉", Toast.LENGTH_SHORT).show();
}
return true;
}
return false;
}
}