[ANDROID] Comment détecter le changement d'orientation
Résolu/Fermé
stagiaire_1
Messages postés
17
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
14 juin 2013
-
28 mai 2013 à 10:28
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 - 29 mai 2013 à 08:59
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 - 29 mai 2013 à 08:59
A voir également:
- [ANDROID] Comment détecter le changement d'orientation
- Mode sécurisé android - Guide
- Changer orientation ecran - Guide
- Télécharger vidéo youtube android - Guide
- Android recovery - Guide
- Sonnerie android - Guide
1 réponse
scinarf
Messages postés
1098
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
291
29 mai 2013 à 08:59
29 mai 2013 à 08:59
Que souhaitez vous faire sur le changement d'orientation ?
Vous pouvez récupérer l'orientation avec :
int i = getResources().getConfiguration().orientation ;
if (i == 1) Toast.makeText(this,"Protrait", 0).show();
else if (i == 2) Toast.makeText(this,"Paysage", 0).show();
Après avoir testé la chose, je vous propose la Class OrientationEventListener
de cette manière dans un nouveau fichier .java dans le même package que votre MainActivity:
import android.content.Context;
import android.view.OrientationEventListener;
import android.widget.Toast;
public class onOrientationChanged extends OrientationEventListener
{
private Context context;
public onOrientationChanged(Context c)
{
super(c);
// TODO Auto-generated constructor stub
context = c;
}
public onOrientationChanged(Context context, int rate) {
super(context, rate);
// TODO Auto-generated constructor stub
}
@Override
public void onOrientationChanged(int orientation)
{
// TODO Auto-generated method stub
int i = orientation;
if (i == 0) Toast.makeText(context,"Protrait", 0).show();
else if (i == 2) Toast.makeText(context,"Paysage", 0).show();
else Toast.makeText(context,"Orientation : " + String.valueOf(i), 0).show();
}
}
Et dans votre MainActivity : Ceci
private onOrientationChanged orientation=null;
dans le onCreate()
orientation = new onOrientationChanged(this);
orientation.enable();
la méthode onOrientationChanged est appelée à chaque changement de position, il ne reste plus que a filtrer sur (int) orientation qui donne les degrés en celsius de l'orientation. (ou des valeurs particulières comme 0 pour portrait et 2 pour paysage)
Bonne chance
Vous pouvez récupérer l'orientation avec :
int i = getResources().getConfiguration().orientation ;
if (i == 1) Toast.makeText(this,"Protrait", 0).show();
else if (i == 2) Toast.makeText(this,"Paysage", 0).show();
Après avoir testé la chose, je vous propose la Class OrientationEventListener
de cette manière dans un nouveau fichier .java dans le même package que votre MainActivity:
import android.content.Context;
import android.view.OrientationEventListener;
import android.widget.Toast;
public class onOrientationChanged extends OrientationEventListener
{
private Context context;
public onOrientationChanged(Context c)
{
super(c);
// TODO Auto-generated constructor stub
context = c;
}
public onOrientationChanged(Context context, int rate) {
super(context, rate);
// TODO Auto-generated constructor stub
}
@Override
public void onOrientationChanged(int orientation)
{
// TODO Auto-generated method stub
int i = orientation;
if (i == 0) Toast.makeText(context,"Protrait", 0).show();
else if (i == 2) Toast.makeText(context,"Paysage", 0).show();
else Toast.makeText(context,"Orientation : " + String.valueOf(i), 0).show();
}
}
Et dans votre MainActivity : Ceci
private onOrientationChanged orientation=null;
dans le onCreate()
orientation = new onOrientationChanged(this);
orientation.enable();
la méthode onOrientationChanged est appelée à chaque changement de position, il ne reste plus que a filtrer sur (int) orientation qui donne les degrés en celsius de l'orientation. (ou des valeurs particulières comme 0 pour portrait et 2 pour paysage)
Bonne chance