android如何使webview不跳到自帶的瀏覽器上
阿新 • • 發佈:2019-02-01
一般用webview載入網址手機都會自動跳轉到自帶的瀏覽器中 ,如果為了一些效果想要不去跳轉到瀏覽器 那就要給自己的webview加上客戶端
新增客戶端程式碼
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return super.shouldOverrideUrlLoading(view, url);
}
});
整體程式碼如下
package com.example.popupwindow_01; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.PopupWindow; public class MainActivity extends AppCompatActivity { private View view; private PopupWindow popupWindow; private WebView webView; private String urlString = "http://www.baidu.com"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); view = LayoutInflater.from(this).inflate(R.layout.window_layout, null); webView = ((WebView) view.findViewById(R.id.webView1)); /** * webView 載入的時候 會跳到手機自帶的瀏覽器 * 給自己定義個webview新增客戶端 */ webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); } }); webView.loadUrl(urlString); //例項化popupwindow popupWindow = new PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); popupWindow.setBackgroundDrawable(getResources().getDrawable(R.mipmap.ic_launcher)); //設定點選外部 是否自動關閉 popupWindow.setFocusable(true); //點選外部是否關閉 popupWindow.setOutsideTouchable(true); } public void textClick(View view) { if (popupWindow.isShowing()) { popupWindow.dismiss(); } else { popupWindow.showAsDropDown(view, 0, 0); popupWindow.showAtLocation(view, Gravity.CENTER, 100, 100); } } }