Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
266 L’art du développement Android
Il faut bien comprendre qu’il s’agit du comportement par défaut : il peut être le plus adapté
à l’une ou l’autre de vos activités, mais vous pouvez le contrôler et adapter la réponse de
vos activités aux changements d’orientation ou de configuration.
Tout est pareil, juste différent
Comme, par défaut, Android détruit et récrée votre activité lorsque l’orientation change, il
suffit d’utiliser la méthode onSaveInstanceState(), qui est appelée à chaque fois que
l’activité est supprimée quelle qu’en soit la raison (tel un manque de mémoire). Implémentez cette méthode dans votre activité afin de stocker dans le Bundle fourni suffisamment
d’informations pour pouvoir revenir à l’état courant. Puis, dans onCreate() (ou onRestore-InstanceState(), si vous préférez), restaurez les données du Bundle et utilisez-les
pour remettre l’activité dans son état antérieur.
Le projet Rotation/RotationOne, par exemple, utilise deux fichiers layout main.xml
pour les modes portrait et paysage. Ces fichiers se trouvent respectivement dans les répertoires res/layout/ et res/layout-land/.
Voici la disposition du mode portrait :
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="Choisir"
android:enabled="true"
/>
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="Voir"
android:enabled="false"
/>
Voici celle du mode paysage :
android:orientation="horizontal"
android:layout_width="fill_parent"
Livre Android.book Page 266 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
266 L’art du développement Android
Il faut bien comprendre qu’il s’agit du comportement par défaut : il peut être le plus adapté
à l’une ou l’autre de vos activités, mais vous pouvez le contrôler et adapter la réponse de
vos activités aux changements d’orientation ou de configuration.
Tout est pareil, juste différent
Comme, par défaut, Android détruit et récrée votre activité lorsque l’orientation change, il
suffit d’utiliser la méthode onSaveInstanceState(), qui est appelée à chaque fois que
l’activité est supprimée quelle qu’en soit la raison (tel un manque de mémoire). Implémentez cette méthode dans votre activité afin de stocker dans le Bundle fourni suffisamment
d’informations pour pouvoir revenir à l’état courant. Puis, dans onCreate() (ou onRestore-InstanceState(), si vous préférez), restaurez les données du Bundle et utilisez-les
pour remettre l’activité dans son état antérieur.
Le projet Rotation/RotationOne, par exemple, utilise deux fichiers layout main.xml
pour les modes portrait et paysage. Ces fichiers se trouvent respectivement dans les répertoires res/layout/ et res/layout-land/.
Voici la disposition du mode portrait :
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="Choisir"
android:enabled="true"
/>
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="Voir"
android:enabled="false"
/>
Voici celle du mode paysage :
android:layout_width="fill_parent"
Livre Android.book Page 266 Dimanche, 8. novembre 2009 12:23 12
