android: webview à l’intérieur du dialog ou popup

comment append une vue Web à l’intérieur d’une boîte de dialog ou d’une fenêtre contextuelle.

ma vue Web contient l’URL WebView.loadurl () .lorsque la vue est ajoutée à l’intérieur de la boîte de dialog, elle passe toujours au navigateur.

J’ai été dans android loading webview dans la boîte de dialog, mais n’est pas un exemple de la façon de le faire? Merci

Voici l’exemple:

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, Ssortingng 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(); 

Vous devez remplacer setWebViewClient ().

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

Si vous essayez d’afficher une vue Web dans une fenêtre contextuelle, vous devez définir la largeur et la hauteur de votre disposition linéaire dans le fichier de disposition de votre fenêtre (popup_layout.xml), comme indiqué ci-dessous.

Vous devez faire cela car la disposition de popup n’a aucun parent à faire référence à la taille lorsque vous essayez d’utiliser ‘match_parent’ ou à peu près.

      

Code 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, Ssortingng 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); } 

Utilisez popTab () où vous voulez. J’espère que cela aide avec la fenêtre popup.