android: webview all’interno di una finestra di dialogo o popup

come aggiungere la visualizzazione Web all’interno della finestra di dialogo o popup.

la mia vista web contiene l’URL WebView.loadurl (). Quando la vista è stata aggiunta all’interno della finestra di dialogo, continua a spostarsi nel browser.

Sono stato in Android a caricare la webview nel dialogo ma non è un esempio di come farlo? Grazie

Ecco un esempio:

AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.setTitle("Title here"); WebView wv = new WebView(this); wv.loadUrl("http:\\www.google.com"); wv.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); alert.setView(wv); alert.setNegativeButton("Close", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { dialog.dismiss(); } }); alert.show(); 

È necessario eseguire l’override di setWebViewClient () ..

 mWebView = (WebView) view.findViewById(R.id.wv1); mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return false; } }); mWebView.loadUrl(mUrl); 

Se si sta tentando di visualizzare una visualizzazione Web in una finestra popup, è necessario impostare la larghezza e l’altezza del layout lineare nel file di layout del popup (popup_layout.xml) come mostrato di seguito.

Devi farlo perché il layout del popup non ha alcun genitore a cui fare riferimento per le dimensioni quando provi a usare ‘match_parent’ o così.

 < ?xml version="1.0" encoding="utf-8"?>     

Codice PopupWindow:

 @Override public void onWindowFocusChanged(boolean hasFocus) { try { int[] location = new int[2]; (xml item where you want it to appear).getLocationOnScreen(location); //Get x and y positions p = new Point(); px = location[0]; py = location[1]; } catch (Exception e) { e.printStackTrace(); } } private void popTab(final Activity myActivity) { popupWidth = 350; popupHeight = 600; popup.setWidth(popupWidth); popup.setHeight(popupHeight); // Inflate the popup_layout.xml LinearLayout viewGroup = (LinearLayout) myActivity.findViewById(R.id.myMainLayoutID); LayoutInflater layoutInflater = (LayoutInflater) myActivity .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View layoutTab = layoutInflater.inflate(R.layout.mylayout, viewGroup); //Get webview from xml WebView wv = (WebView)layoutTab.findViewById(R.id.webView2); // Creating the PopupWindow final PopupWindow popup = new PopupWindow(layoutTab); //Set to view popup.setContentView(layoutTab); //Setup webview wv.loadUrl("http:\\www.google.com"); wv.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); //Add some animation from style folder popup.update(); popup.setAnimationStyle(R.style.Animation); popup.setFocusable(true); popup.showAtLocation(layoutTab, Gravity.NO_GRAVITY, px, py); } 

Usa popTab () dove vuoi. Spero che questo aiuti con la finestra popup.