quitar - android: vista web dentro del cuadro de diálogo o ventana emergente
quitar ventanas emergentes whatsapp (4)
Aquí hay un ejemplo:
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();
cómo agregar vista web dentro del cuadro de diálogo o ventana emergente.
mi vista web mantiene la URL WebView.loadurl (). Cuando ve el cuadro de diálogo agregado, aún se mueve al navegador.
He estado en Android cargando la vista web en el diálogo, pero ¿no hay un ejemplo de cómo hacerlo? Gracias
Código de 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();
p.x = location[0];
p.y = 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, p.x, p.y);
}
Use popTab () donde quiera. Espero que esto ayude con la ventana emergente.
Debe anular 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);
Si intenta mostrar una vista web en una ventana emergente, debe establecer el ancho y alto de su distribución lineal en el archivo de diseño emergente (popup_layout.xml) como se muestra a continuación.
Tienes que hacer esto porque el diseño de la ventana emergente no tiene ningún padre para referirse al tamaño cuando intentas usar ''match_parent'' más o menos.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="400dp"
android:layout_height="400dp"
android:background="#FAFAFA"
android:id="@+id/popup_layout"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/txtclose"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="end"
android:background="@color/colorPrimaryDark"
android:text="X"
android:textColor="@color/main_yellow"
android:textStyle="bold" />
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/externalUrl"/>
</LinearLayout>