Sunteți pe pagina 1din 5

06/04/12

Chapitre 3 : Les Views

www.thaouet.net/index.php/cours/programmationmobile/10-chapitre3android?tmpl=component&pri

sw ei V s eL : 3 er tipa hC

Catgorie : CO RS ANDROID Publi le Jeudi, 10 Mars 2011 11:37 crit par TAHAR HAOUET Affichages : 762 Chapitre : Les Views Introduction Dans une application Android, l'interface utilisateur est construite en utilisant des objets View et ViewGroup. Il existe de nombreux types de View et ViewGroup, dont chacun est un descendant de la classe View. Les objets View sont les units de base de linterface utilisateur sur la plateforme Android. La classe View sert de classe de base pour les sous-classes appeles widgets, qui offrent des objets d'interface utilisateur entirement mis en uvre, comme les champs de texte et des boutons. La classe ViewGroup sert de classe de base pour les sous-classes appeles disposition (Lnayout), qui offre diffrents types de dispositions, linaire, de tableaux et relatif. Un objet View est une structure de donnes dont les proprits stockent les paramtres de prsentation et le contenu d'une zone rectangulaire spcifique de l'cran. Un objet View gre sa propre mesure, disposition, delaffichage, de changement du focus, le dfilement et la touche interactions geste / pour la zone rectangulaire de l'cran dans lequel il rside. Comme un objet dans l'interface utilisateur, une vue est galement un point d'interaction pour l'utilisateur et le rcepteur des vnements d'interaction. Hirarchie des View : Sur la plate-forme Android, vous devez dfinir l'interface utilisateur d'une activit en utilisant une hirarchie de nuds View et ViewGroup, comme le montre le schma ci-dessous. Cet arbre hirarchie peut tre aussi simple ou aussi complexe selon vos besoins, et vous pouvez le construire l'aide d un ensemble de widgets et de dispositions Android prdfinis, ou l aide d une View personnalise que vous crez vous-mme.

Afin dattacher lhirarchie des View l'cran pour le rendu, votre activit doit appeler la mthode setContentView() et passer une rfrence l'objet nud racine. Le systme Android reoit cette rfrence et l'utilise pour dessiner lhirarchie. Le nud racine de la hirarchie qui demande que ses nuds enfants se dessinent - son tour, chaque nud GroupView est responsable de faire appel chacun de ses propres View enfant se dessiner. Les nuds enfants peuvent demander une taille et un emplacement au sein du Group View parent, mais l'objet parent tient la dcision finale sur l'endroit et la taille de chaque View enfant.
1/5

06/04/12

Chapitre 3 : Les Views

Android analyse les lments de votre disposition (Layout) en ordre (du haut de l'arborescence de la hirarchie), en instanciant des Views et en les ajoutant leur parent (s). Parce que les Views sont dessines en ordre s'il ya des lments qui se chevauchent les positions, le dernier dessiner se situera au-dessus des autres dj dessin cet espace. Layout La faon la plus commune pour dfinir votre disposition et d'exprimer lhirarchie des View est dutiliser un fichier de configuration XML. XML offre une structure lisible pour la disposition, tout comme HTML. Chaque lment XML est soit un objet View ou ViewGroup (ou descendant de celui-ci). Les objets Views sont des feuilles dans les arbres, les objets ViewGroup sont les branches de l'arbre (voir la figure Afficher la hirarchie ci-dessus). Le nom d'un lment XML est respectif la classe Java qu'il reprsente. Ainsi, un lment <TextView cre une TextView dans votre interface utilisateur, et un lment<LinearLayout cre un GroupView LinearLayout. Lorsque vous chargez une ressource Layout, le systme Android initialise ces objets d'excution, correspondant des lments dans votre mise en page. Par exemple, une disposition verticale simple avec un TextView et un Bouton ressemble ceci:
<xlvrin"."ecdn=uf8? ?m eso=10 noig"t-">

<ieraotxlsadod"tp/shmsadodcmakrsadod LnaLyu mn:nri=ht:/cea.nri.o/p/e/nri"

adodlyu_it=fl_aet nri:aotwdh"ilprn"

adodlyu_egt"ilprn" nri:aothih=fl_aet

adodoinain"etcl > nri:retto=vria"

<etiwadodi=@i/et TxVe nri:d"+dtx"

adodlyu_it=wa_otn" nri:aotwdh"rpcnet

adodlyu_egt"rpcnet nri:aothih=wa_otn"

adodtx=Hlo Ia aTxVe"/ nri:et"el, m etiw >

<utnadodi=@i/utn Bto nri:d"+dbto"

adodlyu_it=wa_otn" nri:aotwdh"rpcnet

adodlyu_egt"rpcnet nri:aothih=wa_otn"

adodtx=Hlo Ia aBto"/ nri:et"el, m utn >

www.thaouet.net/index.php/cours/programmationmobile/10-chapitre3android?tmpl=component&pri

2/5

06/04/12

Chapitre 3 : Les Views

<LnaLyu> /ieraot

Notez que l'lment LinearLayout contient la fois le TextView et le bouton. Vous pouvez imbriquer un autre LinearLayout (ou un autre type de ViewGroup) l'intrieur de celui-ci, d'allonger la hirarchie de View et de crer un Layout plus complexe. Il existe une varit de faons dont vous pouvez amnager la disposition de vos View. Lutilisation de diffrents types ViewGroup, vous permet de structurer les View enfants et les groupViews dans une infinit de faons. Certains groupView prdfinies proposes par Android (appel Layout) comprennent LinearLayout, RelativeLayout, TableLayout, GridLayout et d'autres. Chaquun offre un ensemble de paramtres de configuration qui sont utiliss pour dfinir les positions des View enfants et la structure du Layout. Widgets Un widget est un objet View qui sert d'interface pour l'interaction avec l'utilisateur. Android fournit un ensemble de widgets pleinement mis en uvre, comme les boutons, cases cocher et les champs de saisie de texte, de sorte que vous pouvez construire rapidement votre interface utilisateur. Certains widgets fournis par Android sont plus complexes, comme un slecteur de date, une horloge, et des commandes de zoom. Mais vous n'tes pas limit aux types de widgets fournis par la plate-forme Android. Si vous voulez faire quelque chose de plus personnalis et crer vos propres lments une action, vous pouvez, en dfinissant votre propre objet View ou en tendant et en combinant widgets existants. Evnement de linterface utilisateur : Une fois que vous avez ajout des View / widgets l'interface utilisateur, vous voudrez probablement tudier l'interaction de l'utilisateur avec eux, afin que vous puissiez effectuer des actions. Pour tre inform des vnements d'interface utilisateur, vous devez effectuer l'une de deux choses: Dfinir un couteur d'vnements (Listner) et l'enregistrer avec lobjet View. Plus souvent qu'autrement, c'est comment vous allez couter les vnements. La classe View contient une collection d'interfaces imbrique nomme On<quelquechose Listener, chacun avec une mthode de rappel appele On<quelquechose (). Par exemple, View.OnClickListener (pour le traitement des "clics" sur une View), View.OnTouchListener (pour la gestion des vnements cran tactile dans une View), et View.OnKeyListener (pour le traitement des presses dispositif cl au sein d'une View). Donc, si vous voulez que votre View soit prvenu lorsque elle est "cliqu" (comme quand un bouton est slectionn), elle implmente OnClickListener et dfini onClick () mthode de rappel (o vous effectuez l'action sur clic), et l'enregistrer dans votre View avec setOnClickListener (). Surcharger une mthode de rappel en vigueur pour un objet View. C'est ce que vous devriez faire quand vous avez mis en place votre propre classe View et que vous souhaitez couter des vnements spcifiques qui se produisent au sein de cette View. Exemple d'vnements que vous pouvez manipuler notamment lorsque l'cran est touch(onTouchEvent ()), quand la boule de commande est dplac (onTrackballEvent ()), ou quand une touche sur l'appareil est enfonc (onKeyDown ()). Cela vous permet de dfinir le comportement par dfaut pour chaque vnement l'intrieur de votre affichage personnalis et de dterminer si l'vnement doit tre transmis un autre enfant View. Encore une fois, ce sont des mthodes de rappels (callback) de la classe View, votre seule chance de les dfinir, c'est quand vous crez un composant personnalis Exemple : On-Click Listner pour un Bouton
www.thaouet.net/index.php/cours/programmationmobile/10-chapitre3android?tmpl=component&pri 3/5

06/04/12

Chapitre 3 : Les Views

/ Cet a aoyosipeetto o OCikitnr / rae n nnmu mlmnain f nlcLsee

piaeOCikitnrmokLsee =nwOCikitnr){ rvt nlcLsee Cryitnr e nlcLsee(

pbi vi oCikVe v { ulc od nlc(iw )

/ d smtigwe tebto i cikd / o oehn hn h utn s lce

poetdvi oCet(udesvdaus { rtce od nraeBnl aeVle)

.. .

/ Cpueorbto fo lyu / atr u utn rm aot

Bto bto =(utnfnVeBI(.dcry; utn utn Bto)idiwydRi.ok)

/ Rgse teoCiklsee wt teipeetto aoe / eitr h nlc itnr ih h mlmnain bv

bto.eOCikitnrmokLsee) utnstnlcLsee(Cryitnr;

.. .

Encore cest plus pratique de mettre en uvre OnClickListener dans le cadre de votre activit. Cela permettra d'viter lutilisation supplmentaire de classe et d'allocation d'objets. Par exemple:
pbi casEapeciiyetnsAtvt ipeet OCikitnr{ ulc ls xmlAtvt xed ciiy mlmns nlcLsee

poetdvi oCet(udesvdaus { rtce od nraeBnl aeVle)

.. .

Bto bto =(utnfnVeBI(.dcry; utn utn Bto)idiwydRi.ok)

bto.eOCikitnrti) utnstnlcLsee(hs;

www.thaouet.net/index.php/cours/programmationmobile/10-chapitre3android?tmpl=component&pri

4/5

06/04/12

Chapitre 3 : Les Views

/ IpeetteOCikitnrclbc / mlmn h nlcLsee alak

pbi vi oCikVe v { ulc od nlc(iw )

/ d smtigwe tebto i cikd / o oehn hn h utn s lce

.. .

www.thaouet.net/index.php/cours/programmationmobile/10-chapitre3android?tmpl=component&pri

5/5

S-ar putea să vă placă și