Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 26
Gestion de la rotation 267
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"
/>
L’interface utilisateur est essentiellement composée de deux boutons occupant, chacun, la
moitié de l’écran. En mode portrait, les boutons sont placés l’un au-dessus de l’autre ; en
mode paysage, ils sont côte à côte.
L’application semble fonctionner correctement – une rotation (Ctrl+F12 dans l’émulateur)
modifie la disposition de l’interface. Bien que les boutons n’aient pas d’état, vous constateriez, si vous utilisiez d’autres widgets (comme EditText), qu’Android prend automatiquement en charge une partie de leur état (le texte saisi dans l’EditText, par exemple).
En revanche, Android ne peut pas vous aider pour tout ce qui se trouve à l’extérieur des
widgets.
Cette application dérive de l’exemple PickDemo du Chapitre 25 (voir Figures 25.1, 25.2 et
25.3), où cliquer sur un contact vous permettait de consulter sa fiche. Ici, on l’a divisée en
deux boutons, "Voir" n’étant actif que lorsqu’un contact a été sélectionné.
Voyons comment tout ceci est géré par onSaveInstanceState() :
public class RotationOneDemo extends Activity {
static final int PICK_REQUEST=1337;
Button viewButton=null;
Uri contact=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn=(Button)findViewById(R.id.pick);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent i=new Intent(Intent.ACTION_PICK,
Livre Android.book Page 267 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 26
Gestion de la rotation 267
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"
/>
L’interface utilisateur est essentiellement composée de deux boutons occupant, chacun, la
moitié de l’écran. En mode portrait, les boutons sont placés l’un au-dessus de l’autre ; en
mode paysage, ils sont côte à côte.
L’application semble fonctionner correctement – une rotation (Ctrl+F12 dans l’émulateur)
modifie la disposition de l’interface. Bien que les boutons n’aient pas d’état, vous constateriez, si vous utilisiez d’autres widgets (comme EditText), qu’Android prend automatiquement en charge une partie de leur état (le texte saisi dans l’EditText, par exemple).
En revanche, Android ne peut pas vous aider pour tout ce qui se trouve à l’extérieur des
widgets.
Cette application dérive de l’exemple PickDemo du Chapitre 25 (voir Figures 25.1, 25.2 et
25.3), où cliquer sur un contact vous permettait de consulter sa fiche. Ici, on l’a divisée en
deux boutons, "Voir" n’étant actif que lorsqu’un contact a été sélectionné.
Voyons comment tout ceci est géré par onSaveInstanceState() :
public class RotationOneDemo extends Activity {
static final int PICK_REQUEST=1337;
Button viewButton=null;
Uri contact=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn=(Button)findViewById(R.id.pick);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent i=new Intent(Intent.ACTION_PICK,
Livre Android.book Page 267 Dimanche, 8. novembre 2009 12:23 12
