[Android] Orientation mobile vs. tablette

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 14 oct. 2013 à 11:01
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 15 oct. 2013 à 09:25
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

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
15 oct. 2013 à 09:25
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ù.
0
Rejoignez-nous