android studio webview

webview

布局文件一个输入框,按钮,还有进度条,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;

}

}

猜你喜欢

转载自blog.csdn.net/weixin_43117800/article/details/84203098
今日推荐