0% ont trouvé ce document utile (0 vote)
42 vues47 pages

Guide des composants d'applications mobiles

Transféré par

mohamed.saidi212001
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
42 vues47 pages

Guide des composants d'applications mobiles

Transféré par

mohamed.saidi212001
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Applications mobiles

Kamal Mehaoued

Université de Béjaia
Troisième année licence informatique

2017/2018

Kamal Mehaoued (dep info) applications mobiles 2017/2018 1 / 47


Table des matières
1 Introduction
2 Les vues et les gabarits
3 Les composants graphiques
Zone de texte
Zone d’édition
Case à cocher
Bouton
Toggle Button
Date Picker
Time Picker
ImageView
Image Button
Horloge analogique
Horloge numérique
Rating Bar
Kamal Mehaoued (dep info) applications mobiles 2017/2018 2 / 47
Introduction

Introduction

Les interfaces prennent une place de plus en plus importante dans le


choix d’une application par l’utilisateur
Le succès d’une application auprès d’un utilisateur dépend du succès
de son interface graphique
Il ne peut y avoir de bonne application sans une bonne interface
graphique

Kamal Mehaoued (dep info) applications mobiles 2017/2018 3 / 47


Les vues et les gabarits

Les Vues

le composant graphique élémentaire sous android est la vue classe View.


Créer une vue revient donc à créer un objet graphique.
Une vue constitue le composant graphique élémentaire dans la
plate-forme android
Tous les composants graphiques (boutons, cas à cocher ...) héritent de
la classe View
Créer une vue revient à créer un objet graphique
Plusieurs vues peuvent être regroupées dans une seule structures
arborescente ViewGroup
Cette structure peut à son tour regrouper d’autres éléments
ViewGroup

Kamal Mehaoued (dep info) applications mobiles 2017/2018 4 / 47


Les vues et les gabarits

Les gabarits

Un gabarit, Layout, est une extension de la classe ViewGroup.


C’est un conteneur qui aide à positionner les objets au sein d’une
interface.
Les gabarits (layout) peuvent s’imbriquer les uns dans les autres.
Un gabarit parent contient un gabarit enfant
un gabarit enfant est contenu dans un gabarit parent

Kamal Mehaoued (dep info) applications mobiles 2017/2018 5 / 47


Les vues et les gabarits

Les gabarits

Selon le gabarit utilisé, les composants qui s’y trouvent peuvent être
disposés différemment.
LinearLayout
Permet d’aligner de gauche à droite ou du haut vers le bas, les éléments
qui s’y trouveront. Selon la valeur de la propriété orientation, nous pouvons
indiquer au gabarit dans quel sens afficher ses composants enfants.
Si la valeur de orientation est horizontal, l’affichage se fait de gauche
à droite
Si la valeur de orientation est vertical, l’affichage se fait du haut vers
le bas

Kamal Mehaoued (dep info) applications mobiles 2017/2018 6 / 47


Les vues et les gabarits

Les gabarits

RelativeLayout
Les composants s’y trouvant seront disposés les uns par rapport aux autres.
Le premier composant(enfant) sert de référence aux autres

FrameLayout
Chaque enfant est positionné dans le coin supérieur gauche de l’écran et
affiché au dessus des enfants précédents en les cachant partiellement ou
entièrement. Ce gabarit est utilisé pour l’affichage d’un élément.

TableLayout
Permet de positionner les composants(enfants) d’un gabarit en ligne et
colonnes comme dans un tableau

Kamal Mehaoued (dep info) applications mobiles 2017/2018 7 / 47


Les vues et les gabarits

Exemple d’un gabarit linéaire en XML

< !– Mon premier gabarit –>


<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent"
>
</LinearLayout>

Kamal Mehaoued (dep info) applications mobiles 2017/2018 8 / 47


Les vues et les gabarits

Les gabarits

Les gabarits possèdent des propriétés communes telles que :


layout_width : permet de spécifier le comportement de remplissage en
largeur. Sa taille peut être précisée explicitement
layout_height : permet de spécifier le comportement de remplissage
en hauteur . Sa taille peut être précisée explicitement.
fill_parent : spécifie que le gabarit doit prendre toute la place
disponible sur la largeur et la hauteur du gabarit père. Si le gabarit
père est l’écran lui même alors le gabarit enfant va occuper tout
l’écran.
wrap_content : Dans ce cas le gabarit prend la place qui lui est
nécessaire.

Kamal Mehaoued (dep info) applications mobiles 2017/2018 9 / 47


Les vues et les gabarits

Création d’interface utilisateur

La création d’une interface se fait par la création de deux éléments


Définition de l’interface graphique utilisateur de façon déclarative dans
un fichier XML
Définition de la logique de fonctionnement de l’interface dans une
classe d’activité
Cette séparation fait de sorte qu’un spécialiste en graphique n’interfère
pas avec le code du développeur

Kamal Mehaoued (dep info) applications mobiles 2017/2018 10 / 47


Les vues et les gabarits

Définition d’interface
Une bonne pratique est de définir l’interface graphique dans la déclaration
xml. Sachant qu’il est possible de la définir dans le code du développeur.
Exemple :
< ?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent"
<TextView
android :layout_width="fill_parent"
android :layout_height="wrap_content"
android :id="@+id/monText"
/>
</LinearLayout>
Kamal Mehaoued (dep info) applications mobiles 2017/2018 11 / 47
Les vues et les gabarits

Définition d’interface

L’équivalent dans le code du développeur :


import [Link] ;
import [Link] ;
public class Main extends Activity {
public void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState) ;
setContentView([Link]) ;
}
}

Kamal Mehaoued (dep info) applications mobiles 2017/2018 12 / 47


Les vues et les gabarits

Récupérer et utiliser un élément de l’interface

import [Link] ;
import [Link] ;
import [Link] ;
public class Main extends Activity {
public void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState) ;
setContentView([Link]) ;
TextView monTexte =
(TextView)findViewById([Link]) ;
[Link]("Bonjour tout le monde !") ;
}
}

Kamal Mehaoued (dep info) applications mobiles 2017/2018 13 / 47


Les vues et les gabarits

L’équivalent dans le code du développeur sans la définition xml :


import [Link] ;
import [Link] ;
import [Link] ;
public class Main extends Activity {
public void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState) ;
TextView monTextView = new TextView(this) ;
setContentView(monTextView) ;
[Link]("Bonjour tout le monde !") ;
}
}

Kamal Mehaoued (dep info) applications mobiles 2017/2018 14 / 47


Les vues et les gabarits

Créer une interface sans définition XML avec un gabarit


import [Link] ;
import [Link] ;
import [Link] ;
import [Link] ;
public class Main extends Activity {
public void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState) ;
LinearLayout monLinearLayout = new LinearLayout(this) ;
[Link]([Link]) ;
TextView monTextView1 = new TextView(this) ;
TextView monTextView2 = new TextView(this) ;
[Link](monTextView1) ;
[Link](monTextView2) ;
setContentView(monLinearLayout) ;
[Link]("Bonjour tout le monde !") ;
[Link]("Ceci est mon 2eme texte") ;
}
Kamal Mehaoued (dep info) applications mobiles 2017/2018 15 / 47
Les composants graphiques

Les composants graphiques

Le fichier .java de notre activité est dorénavant celui-ci :


Avec [Link], le fcihier ou est déclarée notre interface graphique.
import [Link] ;
import [Link] ;
import [Link] ;
import [Link] ;
public class MyActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState) ;
setContentView([Link]) ;
}
}

Kamal Mehaoued (dep info) applications mobiles 2017/2018 16 / 47


Les composants graphiques Zone de texte

zone de texte
TextView est une vue basique, une simple zone de texte :
Considérons l’exemple suivant avec quatre TextView positionnés
verticalement.

Figure – exemple de zone de texte

Kamal Mehaoued (dep info) applications mobiles 2017/2018 17 / 47


Les composants graphiques Zone de texte

zone de teste suite


< ?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent">
<TextView
android :text="Plain"
android :layout_width="wrap_content"
android :layout_height="wrap_content" />
<TextView
android :text="Serif"
android :layout_width="wrap_content"
android :layout_height="wrap_content"
android :typeface="serif" />
Kamal Mehaoued (dep info) applications mobiles 2017/2018 18 / 47
Les composants graphiques Zone de texte

zone de texte suite

<TextView
android :text="Bold"
android :layout_width="wrap_content"
android :layout_height="wrap_content"
android :textStyle="bold" />
<TextView
android :text="Italic"
android :layout_width="wrap_content"
android :layout_height="wrap_content"
android :textStyle="italic"
/>
</LinearLayout>

Kamal Mehaoued (dep info) applications mobiles 2017/2018 19 / 47


Les composants graphiques Zone de texte

zone de texte suite

en exécutant le code de l’activité précédente, nous obtenons :

Figure – exemple de zone de texte

Kamal Mehaoued (dep info) applications mobiles 2017/2018 20 / 47


Les composants graphiques Zone d’édition

zone d’édition
L’EditText est une extension du [Link] vue est une zone d’édition.
Considérons l’exemple suivant :

Figure – exemple de zone d’édition

Kamal Mehaoued (dep info) applications mobiles 2017/2018 21 / 47


Les composants graphiques Zone d’édition

zone d’édition suite

< ?xml version="1.0" encoding="utf-8" ?>


<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent">
<EditText
android :id="@+id/title"
android :text="android"
android :layout_width="wrap_content"
android :layout_height="wrap_content" />

Kamal Mehaoued (dep info) applications mobiles 2017/2018 22 / 47


Les composants graphiques Zone d’édition

zone d’édition suite

<EditText
android :id="@+id/phoneNumber"
android :text="05 12 34 56 78"
android :layout_width="wrap_content"
android :layout_height="wrap_content"
android :typeface="serif"
android :phoneNumber="true" />
<EditText
android :id="@+id/password"
android :text="monPassword"
android :layout_width="wrap_content"
android :layout_height="wrap_content"
android :password="true" />
</LinearLayout>

Kamal Mehaoued (dep info) applications mobiles 2017/2018 23 / 47


Les composants graphiques Zone d’édition

zone d’édition suite


Toujours en exécutant le code de l’activité, nous aurons :

Figure – exemple de zone d’édition

Kamal Mehaoued (dep info) applications mobiles 2017/2018 24 / 47


Les composants graphiques Case à cocher

Case à cocher
La classe CheckBox est une case à cocher.
Considérons l’exemple suivant des cases à cocher :

Figure – exemple de case à cocher


Kamal Mehaoued (dep info) applications mobiles 2017/2018 25 / 47
Les composants graphiques Case à cocher

Case à cocher suite


< ?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent">
<CheckBox
android :id="@+id/plain_cb"
android :text="Plain"
android :layout_width="wrap_content"
android :layout_height="wrap_content" />
<CheckBox
android :id="@+id/serif_cb"
android :text="Serif"
android :layout_width="wrap_content"
android :layout_height="wrap_content"
Kamal Mehaouedandroid
(dep info) :typeface="serif"
applications/>
mobiles 2017/2018 26 / 47
Les composants graphiques Case à cocher

Case à cocher suite

<CheckBox
android :id="@+id/bold_cb"
android :text="Bold"
android :layout_width="wrap_content"
android :layout_height="wrap_content"
android :textStyle="bold" />
<CheckBox
android :id="@+id/italic_cb"
android :text="Italic"
android :layout_width="wrap_content"
android :layout_height="wrap_content"
android :textStyle="italic" />
</LinearLayout>

Kamal Mehaoued (dep info) applications mobiles 2017/2018 27 / 47


Les composants graphiques Case à cocher

Case à cocher suite


Toujours en exécutant le code de l’activité, nous aurons :

Figure – exemple de cases à cocher

Kamal Mehaoued (dep info) applications mobiles 2017/2018 28 / 47


Les composants graphiques Bouton

Bouton

La classe Button permet de créer un bouton qui pourra être actionné par
l’utilisateur afin de déclencher un événement.
Considérons l’exemple suivant :

Figure – exemple de boutton

Kamal Mehaoued (dep info) applications mobiles 2017/2018 29 / 47


Les composants graphiques Bouton

Bouton suite
< ?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="horizontal"
android :layout_width="fill_parent"
android :layout_height="fill_parent">
<Button
android :id="@+id/okButton"
android :text="OK"
android :layout_width="wrap_content"
android :layout_height="wrap_content" />
<Button
android :id="@+id/CancelButton"
android :text="Annuler"
android :layout_width="wrap_content"
android :layout_height="wrap_content" />
</LinearLayout>
Kamal Mehaoued (dep info) applications mobiles 2017/2018 30 / 47
Les composants graphiques Bouton

Bouton suite

Toujours en exécutant le code de l’activité, nous aurons :

Figure – exemple de bouton

Kamal Mehaoued (dep info) applications mobiles 2017/2018 31 / 47


Les composants graphiques Toggle Button

ToggleBouton

Un Toggle button est un bouton poussoir avec deux états vrai ou faux. A
chaque état correspond un texte visuel. Considérons l’exemple suivant :

Figure – exemple de toggle boutton

Kamal Mehaoued (dep info) applications mobiles 2017/2018 32 / 47


Les composants graphiques Toggle Button

Toggle button
< ?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns :
android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent">
<ToggleButton
android :id="@+id/toggle1"
android :layout_width="wrap_content"
android :layout_height="wrap_content"
android :textOn="Allumé"
android :textOff="Eteint" />
<ToggleButton android :id="@+id/toggle2"
android :layout_width="wrap_content"
android :layout_height="wrap_content"
android :textOn="On"
Kamal Mehaouedandroid
(dep info) :textOff="Off" />mobiles
applications 2017/2018 33 / 47
Les composants graphiques Date Picker

Date Picker

Elle offre une vue facilitant la saisie d’une date

Figure – Date Picker

Kamal Mehaoued (dep info) applications mobiles 2017/2018 34 / 47


Les composants graphiques Date Picker

Date Picker

< ?xml version="1.0" encoding="utf-8" ?>


<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent">
<DatePicker
android :id="@+id/date"
android :layout_width="wrap_content"
android :layout_height="wrap_content"/>
</LinearLayout>

Kamal Mehaoued (dep info) applications mobiles 2017/2018 35 / 47


Les composants graphiques Time Picker

Time Picker

Il a le même focntionnement que le DatePicker mais il est destiné à la


saisie de l’heure.

Figure – Time Picker

Kamal Mehaoued (dep info) applications mobiles 2017/2018 36 / 47


Les composants graphiques Time Picker

Time Picker

< ?xml version="1.0" encoding="utf-8" ?>


<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent">
<TimePicker
android :id="@+id/time"
android :layout_width="wrap_content"
android :layout_height="wrap_content" />
</LinearLayout>

Kamal Mehaoued (dep info) applications mobiles 2017/2018 37 / 47


Les composants graphiques ImageView

ImageView

L’ImageView est un vue dont la représentation est une image. La source de


l’image peut provenir du répertoire layout ou être référencée par une URI.
ImageView intègre des fonctionnalités de transformation.

Figure – Exemple d’Image View

Kamal Mehaoued (dep info) applications mobiles 2017/2018 38 / 47


Les composants graphiques ImageView

ImageView

< ?xml version="1.0" encoding="utf-8" ?>


<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent">
<ImageView android :id="@+id/image"
android :src="@drawable/logo"
android :layout_width="wrap_content"
android :layout_height="wrap_content"
android :layout_gravity="center"/>
</LinearLayout>

Kamal Mehaoued (dep info) applications mobiles 2017/2018 39 / 47


Les composants graphiques Image Button

ImageButton

ImageButton est une sous-classe d’ImageView laquelle en plus de pouvoir


afficher une image, elle est est capable de jouer le rôle d’un bouton et être
en interaction avec l’utilisateur.

Figure – Exemple de Bouton image

Kamal Mehaoued (dep info) applications mobiles 2017/2018 40 / 47


Les composants graphiques Image Button

ImageButton

< ?xml version="1.0" encoding="utf-8" ?>


<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent">
<ImageButton
android :id="@+id/image"
android :src="@drawable/logo"
android :layout_width="wrap_content"
android :layout_height="wrap_content"
android :layout_gravity="center"/>
</LinearLayout>

Kamal Mehaoued (dep info) applications mobiles 2017/2018 41 / 47


Les composants graphiques Horloge analogique

La classe AnalogClock est une simple horloge analogique permettant


d’afficher l’heure actuelle.

Figure – Exemple d’horloge analogique

Kamal Mehaoued (dep info) applications mobiles 2017/2018 42 / 47


Les composants graphiques Horloge analogique

AnalogClock

< ?xml version="1.0" encoding="utf-8" ?>


<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent">
<AnalogClock
android :layout_width="wrap_content"
android :layout_height="wrap_content" />
</LinearLayout>

Kamal Mehaoued (dep info) applications mobiles 2017/2018 43 / 47


Les composants graphiques Horloge numérique

La classe DigitalClock est une simple horloge numérique permettant


d’afficher l’heure actuelle.

Figure – Exemple d’horloge numérique

Kamal Mehaoued (dep info) applications mobiles 2017/2018 44 / 47


Les composants graphiques Horloge numérique

DigitalClock

< ?xml version="1.0" encoding="utf-8" ?>


<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent">
<DigitalClock
android :layout_width="wrap_content"
android :layout_height="wrap_content" />
</LinearLayout>

Kamal Mehaoued (dep info) applications mobiles 2017/2018 45 / 47


Les composants graphiques Rating Bar

RatingBar

Le RatingBar est un composant graphique permettant une notation de


façon visuelle

Figure – Exemple d’un Rating Bar

Kamal Mehaoued (dep info) applications mobiles 2017/2018 46 / 47


Les composants graphiques Rating Bar

RatingBar

< ?xml version="1.0" encoding="utf-8" ?>


<LinearLayout
xmlns :android="http ://[Link]/apk/res/android"
android :orientation="vertical"
android :layout_width="fill_parent"
android :layout_height="fill_parent">
<RatingBar
android :id="@+id/gallery"
android :layout_width="wrap_content"
android :layout_height="wrap_content"/>
</LinearLayout>

Kamal Mehaoued (dep info) applications mobiles 2017/2018 47 / 47

Vous aimerez peut-être aussi