[Android] Orientation mobile vs. tablette

Signaler
Messages postés
15191
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
6 décembre 2021
-
Messages postés
15191
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
6 décembre 2021
-
Hello,
Une petite question pour les développeurs Android!
Je dois réaliser une appli compatible mobile tablette. La version mobile doit avoir une orientation en portrait alors que la version tablette doit être en paysage. Jusque là, ok.
Pour une Activity précise, j'utilise une même Activity avec 2 layouts différents: un dans le répertoire layout et l'autre dans le répertoire layout-sw600dp-land. Je pensais que cela suffirait à bloquer l'orientation...mais non?

Avez-vous une astuce à partager? Dans la mesure du possible, j'aimerais n'avoir qu'une seule Activity. Est-ce possible d'après vous?

Merci de vos retours.

1 réponse

Messages postés
15191
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
6 décembre 2021
101
Yo,
Je me réponds à moi-même.
J'ai utilisé les ressources booléennes. Dans le répertoire values-sw600dp, j'ai mis:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <bool name="is_portrait">false</bool>
</resources>

Dans le répertoire values, j'ai mis le pendant.

Et dans le onCreate():
// force portrait for mobile and landscape for tablet
if(getResources().getBoolean(R.bool.portrait_only)){
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}else{
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}


Y'a sûrement mieux....Je laisse ouvert au cas où.