je veux ouvrir twitter auth dans mon webview plutôt que l'ouverture dans le navigateur, un bon tutoriel comment jouer avec webview dans le dialogue et le charger dans le dialogue?android chargement webview dans le dialogue
2
A
Répondre
6
Vous pouvez simplement appliquer un thème de dialogue à une activité régulière qui contient un WebView.
5
Context mContext = this;
AlertDialog.Builder alert = new AlertDialog.Builder(mContext);
alert.setTitle("Riga");
WebView wv = new WebView(mContext);
String html = "<html><body>some html here</body></html>";
wv.loadData(html, "text/html", "UTF-8");
alert.setView(wv);
alert.setIcon(R.drawable.icon);
alert.setPositiveButton("Yes", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int id){
Toast.makeText(getApplicationContext(), "Success", Toast.LENGTH_SHORT).show();
}
});
alert.setNegativeButton("No", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int id){
Toast.makeText(getApplicationContext(), "Fail", Toast.LENGTH_SHORT).show();
}
});
alert.show();
0
Ouvrir comme boîte de dialogue et enregistrer dans le fichier Menifeast.xml. utiliser comme boîte de dialogue.
public class WebDialog extends Dialog
{
static final int BLUE = 0xFF6D84B4;
static final float[] DIMENSIONS_DIFF_LANDSCAPE =
{ 20, 60 };
static final float[] DIMENSIONS_DIFF_PORTRAIT =
{ 40, 60 };
static final FrameLayout.LayoutParams FILL = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT);
static final int MARGIN = 4;
static final int PADDING = 2;
static final String DISPLAY_STRING = "touch";
private String mUrl;
// private DialogListener mListener;
private ProgressDialog mSpinner;
private WebView mWebView;
private LinearLayout mContent;
private TextView mTitle;
public WebDialog(Context context, String url)
{
super(context);
mUrl = url;
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
mSpinner = new ProgressDialog(getContext());
mSpinner.requestWindowFeature(Window.FEATURE_NO_TITLE);
mSpinner.setMessage("Loading...");
mContent = new LinearLayout(getContext());
mContent.setOrientation(LinearLayout.VERTICAL);
setUpTitle();
setUpWebView();
Display display = getWindow().getWindowManager().getDefaultDisplay();
final float scale = getContext().getResources().getDisplayMetrics().density;
int orientation = getContext().getResources().getConfiguration().orientation;
float[] dimensions = (orientation == Configuration.ORIENTATION_LANDSCAPE) ? DIMENSIONS_DIFF_LANDSCAPE : DIMENSIONS_DIFF_PORTRAIT;
addContentView(mContent, new LinearLayout.LayoutParams(display.getWidth() - ((int) (dimensions[0] * scale + 0.5f)), display.getHeight() - ((int) (dimensions[1] * scale + 0.5f))));
}
private void setUpTitle()
{
requestWindowFeature(Window.FEATURE_NO_TITLE);
Drawable icon = getContext().getResources().getDrawable(R.drawable.ic_launcher);
mTitle = new TextView(getContext());
mTitle.setText("Website");
mTitle.setTextColor(Color.WHITE);
mTitle.setTypeface(Typeface.DEFAULT_BOLD);
mTitle.setBackgroundColor(BLUE);
mTitle.setPadding(MARGIN + PADDING, MARGIN, MARGIN, MARGIN);
// mTitle.setCompoundDrawablePadding(MARGIN + PADDING);
// mTitle.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null);
mContent.addView(mTitle);
}
private void setUpWebView()
{
mWebView = new WebView(getContext());
mWebView.setVerticalScrollBarEnabled(false);
mWebView.setHorizontalScrollBarEnabled(false);
mWebView.setWebViewClient(new WebDialog.DialogWebViewClient());
mWebView.getSettings().setJavaScriptEnabled(true);
System.out.println(" mURL = "+mUrl);
mWebView.loadUrl(mUrl);
mWebView.setLayoutParams(FILL);
mContent.addView(mWebView);
}
private class DialogWebViewClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
super.onReceivedError(view, errorCode, description, failingUrl);
WebDialog.this.dismiss();
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon)
{
super.onPageStarted(view, url, favicon);
mSpinner.show();
}
@Override
public void onPageFinished(WebView view, String url)
{
super.onPageFinished(view, url);
String title = mWebView.getTitle();
if (title != null && title.length() > 0)
{
mTitle.setText(title);
}
mSpinner.dismiss();
}
}
}
Questions connexes
- 1. Annuler le chargement dans WebView sur Android
- 2. Chargement du cache en mode hors connexion dans Android Webview
- 3. fichiers flash de chargement (.swf) WebView dans Android
- 4. Webview chargement spinner dans Xcode
- 5. Chargement du paquet html + ressources dans webview
- 6. webview dans android
- 7. webview dans android
- 8. Pinch Zoom avant dans le Webview [Android]
- 9. Android WebView performance
- 10. Android WebView ne défile pas (Chargement d'un calendrier Google intégré)
- 11. Android WebView
- 12. Comment créer des boîtes de dialogue de chargement dans Android?
- 13. Puis-je supprimer le dialogue d'authentification dans un Cocoa WebView?
- 14. WebView and Gallery dans android
- 15. Chargement d'un document dans un Webview
- 16. Android: Webview et Activité
- 17. Android WebView Télécharger auditeur
- 18. Android WebView - Clics d'interception
- 19. Android Webview POST
- 20. Android: rappels avec le composant WebView?
- 21. Android Webview: Afficher le clavier numérique?
- 22. Android Webview Zoom Densité
- 23. Fond noir lors du chargement de WebView par WebView
- 24. Webview temporaire Android
- 25. android, webview, injection javascript
- 26. Android WebView Zooming en utilisant le ScaleDetector
- 27. comment ajouter WebView dans listview dans Android
- 28. Ignorer le dialogue de progression dans android
- 29. Afficher le tableau HTML dans le Webview
- 30. Android 2.3 Polices hébraïques dans Webview
J'ai un problème avec ça. J'utilise le type d'application de navigateur et une fois que je complète l'application Authorizing. Cela ne me redirige pas vers ma page Web. Au lieu de cela, je me montre rediriger mais il reste sur la même page. Une idée de comment faire face à un tel problème? – insomiac