Академический Документы
Профессиональный Документы
Культура Документы
31
Partie 2
30
INTERFACES
GRAPHIQUES
Dveloppement sous Android - Mlle TRIMECH R
et gabarits
Les
lments graphiques
Les
listes
Les
onglets
32
33
RelativeLayout: les lments enfants sont placs les uns par rapport aux autres
Les dclarations se font principalement en XML, ce qui vite de passer par les
instanciations Java.
Dveloppement sous Android - Mlle TRIMECH R
android:layout_width et android:layout_height:
="fill_parent": l'lment remplit tout l'lment parent
="wrap_content": prend la place minimum ncessaire l'affichage
android:orientation: dfinit l'orientation d'empilement
android:gravity: dfinit l'alignement des lments
Voici un exemple de LinearLayout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:id="@+id/accueilid"
>
</LinearLayout>
Dveloppement sous Android - Mlle TRIMECH R
34
35
Une interface graphique dfinie en XML sera aussi gnre comme une
R.layout.accueil.
Cette remarque est aussi valable pour tous les autres objets graphiques.
Ainsi, on peut accder cet lment par son id et agir dessus au travers
du code Java:
LinearLayout l = (LinearLayout)findViewById(R.id.accueilid);
l.setBackgroundColor(Color.BLACK);
setContentView(R.layout.acceuil);
}
Dveloppement sous Android - Mlle TRIMECH R
36
37
En XML
<TextView
En programmation
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
android:id="@+id/le_texte"
android:layout_width="wrap_content"
gabarit.setGravity(Gravity.CENTER);
android:layout_height="wrap_content"
android:text="@string/hello"
android:layout_gravity="center"
/>
gabarit.addView(texte);
setContentView(gabarit);
}
Dveloppement sous Android - Mlle TRIMECH R
38
Les images
En XML
<EditText
Zone de texte
39
Interception dvnements
android:text=""
En XML
En programmation
android:id="@+id/EditText01"
android:layout_width="fill_parent"
edit.addTextChangedListener(new TextWatcher()
<ImageView
android:id="@+id/logo"
image.setImageResource(R.drawable.logo);
android:src="@drawable/logo"
gabarit.addView(image);
android:layout_height="wrap_content"
>
@Override
</EditText>
En programmation
EditText(this);
edit.setText("Edit me");
gabarit.addView(edit);
android:layout_width="100px"
android:layout_height="wrap_content"
android:layout_gravity="center_horizont
al"
></ImageView>
);
Dveloppement sous Android - Mlle TRIMECH R
Les boutons
40
41
En XML
<Button
android:text="Valider"
b.setOnClickListener(new OnClickListener() {
android:id="@+id/Button01"
android:layout_width="wrap_content"
@Override
android:layout_height="wrap_content
>
Toast.LENGTH_LONG).show();
</Button>
}
});
...> </ListView></LinearLayout>
}
Dveloppement sous Android - Mlle TRIMECH R
42
43
montexte.xml:
android:text="TextView"
android:id="@+id/montexte"
ListAdapter.
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</TextView>
44
45
46
Layout d'une ligne de liste
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=http://schemas.android.com/apk/res/android
android:layout_height="fill_parent"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:baselineAligned="true"
android:gravity="center">
<TextView android:layout_height="wrap_content"
android:id="@+id/monTexte"
android:text="TextView"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="wrap_content"></TextView>
<LinearLayout android:layout_height="wrap_content"
android:orientation="horizontal" android:layout_width="fill_parent"
android:gravity="right" android:layout_gravity="center">
<ImageView android:id="@+id/monImage"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@android:drawable/ic_menu_compass"></ImageView>
</LinearLayout>
</LinearLayout>
47
Layout de la liste
48
49
Lorsque les listes contiennent un layout plus complexe qu'un texte, il faut
50
51
de l'cran.
Pour raliser les onglets, il faut suivre une structure trs
52
53
IMPORTANT :
Certains ids sont imposs lorsqu'on utilise des onglets:
54
55
Chaque onglet contient, dans sa partie du bas, une activit qu'il convient
de crer. Pour chaque activit, il faut donc dfinir une classe d'activit et
lui associer son gabarit:
Activit de onglet1