Introduction à cette section

Adieu au premier chapitre, et bienvenue au deuxième chapitre — une explication détaillée des composants de l'UI (interface utilisateur) dans Android. Dans cette section, nous allons découvrir View et ViewGroup, les classes parentes de tous les contrôles ! Sur un coup de tête, laissez-moi traduire directement l'introduction de la documentation officielle à propos de ces deux-là. Ah, c'est vrai, pour des raisons liées au Grand Empire céleste, Google est inaccessible et Android Developer est inaccessible. Nous pouvons modifier le fichier hosts ou utiliser un VPN (accès Internet scientifique), ou bien sûr, comme l'auteur, utiliser un miroir d'API national. En voici un à partager :http://androiddoc.qiniudn.com/guide/topics/ui/overview.htmlCe miroir correspond à l'API 5.0 !


Présentation de l'UI


Dans une application Android, tous les éléments de l'interface utilisateur sont composés d'objets View et ViewGroup. Une View est un objet dessiné à l'écran avec lequel l'utilisateur peut interagir. Un ViewGroup, quant à lui, est un conteneur de mise en page utilisé pour contenir d'autres objets View (et ViewGroup) ! Android nous fournit une collection de sous-classes de View et ViewGroup, qui comprend certains contrôles de saisie courants (tels que des boutons et des champs de texte) et divers modes de mise en page (tels que des mises en page linéaires ou relatives).

Mise en page de l'interface utilisateur


Chaque composant de l'interface utilisateur de votre application est construit à l'aide d'une hiérarchie d'objets View et ViewGroup, comme illustré à la figure 1. Chaque ViewGroup est un conteneur invisible utilisé pour organiser les Views enfants, et ses Views enfants peuvent être des contrôles de saisie ou des widgets qui dessinent une certaine zone de l'UI. Avec l'arborescence hiérarchique, vous pouvez concevoir des mises en page simples ou complexes selon vos besoins (plus la mise en page est simple, meilleures sont les performances).

Figure 1. Une illustration de la hiérarchie d'une mise en page d'interface utilisateur

Pour définir votre mise en page, vous pouvez instancier des objets View dans le code et commencer à construire votre arborescence, mais la façon la plus simple et la plus efficace de définir votre mise en page est d'utiliser un fichier XML. Construire des mises en page avec XML est plus conforme aux habitudes de lecture des gens, et XML est similaire à HTML. Vous utilisez le nom d'un élément XML pour représenter une View. Ainsi, un élément `<TextView>` créera un contrôle TextView dans votre interface, et un `<LinearLayout>` créera un conteneur LinearLayout ! Par exemple, une mise en page verticale simple avec une vue de texte et un bouton au-dessus ressemble à ceci :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent" 
              android:layout_height="fill_parent"
              android:orientation="vertical" >
    <TextView android:id="@+id/text"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="I am a TextView" />
    <Button android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="I am a Button" />
</LinearLayout>

Lorsque votre application charge la ressource de mise en page ci-dessus, Android instancie chaque nœud de la mise en page en objets individuels. Vous pouvez ensuite définir des comportements supplémentaires pour ceux-ci, interroger l'état des objets ou modifier la mise en page. Pour des conseils complets sur la création de mises en page d'interface utilisateur, veuillez vous référer àMises en page XML

Composants d'interface utilisateur


Vous n'avez pas besoin de créer entièrement votre mise en page d'interface utilisateur avec des objets View et ViewGroup. Android nous fournit certains widgets d'application et des mises en page d'interface utilisateur standard ; vous n'avez qu'à définir le contenu. Ces composants d'interface utilisateur disposent tous d'une documentation API présentant leurs propriétés, comme la barre d'action, les boîtes de dialogue et la barre de notification d'état, etc.


Résumé de la section

Bon, la traduction est peut-être un peu maladroite. Soupir, j'ai fait de mon mieux malgré mon ignorance de l'anglais. Laissez-moi résumer brièvement le contenu ci-dessus :

L'interface graphique sous Android est composée de View, ViewGroup et de leurs sous-classes :View:La classe parente de tous les contrôles visuels, fournissant des méthodes de dessin de composants et de gestion des événements.ViewGroup:Une sous-classe de View qui peut avoir des contrôles enfants et peut être considérée comme un conteneur. Les contrôles de l'interface utilisateur Android sont empilés selon cette structure arborescente hiérarchique. Il existe deux façons de créer des mises en page d'interface utilisateur : écrire soi-même du code en Java, ou définir des mises en page via XML. Cette dernière est plus pratique et plus facile à comprendre ! C'est aussi notre méthode la plus couramment utilisée ! De plus, nous utilisons rarement directement View et ViewGroup pour écrire des mises en page ; nous utilisons plus souvent leurs sous-classes de contrôles ou leurs conteneurs pour construire des mises en page !

Ouais, il suffit d'avoir une compréhension approximative de View et ViewGroup. Normalement, nous ne les utilisons pas directement ; nous n'utilisons ces deux-là que lors de la personnalisation d'une View !