Comment puis-je utiliser les effets de transition Android dans la vue Web?
Si quelqu'un peut m'aider, je serai très heureux. J'ai une application qui utilise webview. La webview charge une url, et j'ai utilisé Google tutoriel pour annuler tous les autres liens que je veux les ouvrir avec webview aussi. J'ai créer un animimation fichier dans res/
et un slide_right xml
et c'est très bien. J'appelle l'effet dans mon principal java activité, mais il ne s'applique qu'à la première page. La chose que je veux, c'est l'effet à appliquer à chaque page que les liens des charges dans webview.
Pouvez-vous aider mon avec mon code?
package com.ihome;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class IhomeActivity extends Activity {
WebView mWebView;
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Animation slideRightAnimation = AnimationUtils.loadAnimation(getBaseContext (), R.anim.slide_right);
mWebView.startAnimation(slideRightAnimation);
view.loadUrl(url);
return true;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
Animation slideLeftAnimation = AnimationUtils.loadAnimation(getBaseContext (), R.anim.slide_left);
mWebView.startAnimation(slideLeftAnimation);
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.setVerticalScrollBarEnabled(false);
mWebView.setHorizontalScrollBarEnabled(false);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.google.com/");
mWebView.setWebViewClient(new HelloWebViewClient());
source d'informationauteur alexgeorg86
Vous devez vous connecter pour publier un commentaire.
C'est le meilleur que je pouvais faire avec l'api native, il semble que le timing n'est pas tout à fait vrai car le chargement de la page et l'animation sont asynchrones.. EDIT: mis à jour, celui-ci est légèrement mieux. EDIT2: C'est ma meilleure tentative à ce jour, et il permet à l'utilisateur de réaliser que le chargement de la page.. La seule façon d'obtenir une semi-fluide, l'animation est de permettre la page de précontrainte, alors que l'utilisateur ne le voit pas.