Maison développement back-end tutoriel php Série de contrôles de l'interface utilisateur Android : disposition des onglets (disposition des onglets)

Série de contrôles de l'interface utilisateur Android : disposition des onglets (disposition des onglets)

Jan 19, 2017 am 10:08 AM

Pour créer une interface utilisateur d'onglet, vous devez utiliser un TabHost et un TabWidget. TabHost doit être le nœud racine du fichier de mise en page, qui contient un TabWidget pour afficher l'onglet et un FrameLayout pour afficher le contenu de l'option
Vous pouvez implémenter le contenu de vos onglets d'une ou deux manières : utilisez les onglets pour basculer entre les vues au sein d'une activité, ou utilisez les onglets pour modifier toutes les activités distinctes. Vous utilisez les méthodes que vous souhaitez dans votre programme en fonction de vos besoins, mais si chaque onglet fournit une activité utilisateur unique, il est alors logique d'implémenter une activité distincte pour chaque onglet, vous feriez donc mieux de le faire dans votre Il est préférable de gérer les applications dans des groupes discrets plutôt que d'utiliser un grand nombre de fichiers d'application et de présentation.

Dans cet exemple, vous pouvez créer une interface utilisateur d'onglet pour chaque activité distincte

1. Démarrez un nouveau projet appelé HelloTabWidget

2. Tout d'abord, créez trois programmes d'activité indépendants. votre projet : ArtistsActivity, AlbumsActivity et SongsActivity. Chacun d'eux représente un onglet distinct. Utilisez maintenant TextView pour afficher un message simple pour chaque programme, par exemple :

package org.hualang.tabwidget;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.widget.TextView;  
  
public class AlbumsActivity extends Activity {  
        public void onCreate(Bundle savedInstanceState)  
        {  
                super.onCreate(savedInstanceState);  
                 TextView textview = new TextView(this);  
                 textview.setText("This is the Albums tab");          
                setContentView(textview);  
        }  
}
Copier après la connexion
package org.hualang.tabwidget;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.widget.TextView;  
  
public class SongsActivity extends Activity {  
        public void onCreate(Bundle savedInstanceState)  
        {  
                super.onCreate(savedInstanceState);  
                 TextView textview = new TextView(this);  
                 textview.setText("This is the Songs tab");   
                setContentView(textview);  
        }  
  
}
Copier après la connexion
package org.hualang.tabwidget;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.widget.TextView;  
  
public class ArtistsActivity extends Activity {  
    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
                 TextView textview = new TextView(this);  
                 textview.setText("This is the Artists tab");   
        setContentView(textview);  
    }  
}
Copier après la connexion
Remarque. qu'il n'y a pas besoin d'un fichier de mise en page dans cet exemple, il vous suffit de créer un TextView et d'attribuer une valeur au texte. Répétez trois activités similaires et enregistrez-les dans le fichier AndroidManifest.xml, sinon une erreur sera signalée


3. Vous devez définir une icône pour chaque onglet. Pour chaque icône, vous pouvez avoir deux versions. lorsque l'onglet est sélectionné et l'autre lorsque l'onglet n'est pas sélectionné. De manière générale, il est recommandé d'utiliser le gris lorsqu'il est sélectionné et le blanc lorsqu'il n'est pas sélectionné, comme

Série de contrôles de linterface utilisateur Android : disposition des onglets (disposition des onglets)

Série de contrôles de linterface utilisateur Android : disposition des onglets (disposition des onglets)

vous pouvez copier ces deux images pour expérimentation


Créez maintenant une liste d'images d'état pour spécifier les images spécifiées pour les différents états de chaque onglet

①Enregistrez l'image de miction dans res/

②Créez un fichier nommé ic_tab_artists.xml dans le répertoire res/drawable/, et insérez les informations suivantes

<?xml version="1.0" encoding="utf-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
<!-- When selected,use grey -->  
        <item android:drawable="@drawable/ic_tab_artists_grey"  
                android:state_selected="true"/>  
        <!-- When not selected ,use white -->  
        <item android:drawable="@drawable/ic_tab_artists_white"/>  
</selector>
Copier après la connexion
Le fichier ci-dessus, lorsque l'état de l'onglet change Quand Le fichier de mise en page affichera l'arme de l'onglet pour permettre la navigation entre chaque activité


TabHost nécessite une disposition TabWidget et FrameLayout Afin de définir la position du TabWidget et du FrameLayout dans la direction verticale, un LinearLayout est requis pour chaque option. Où se trouve le contenu de la carte, la raison pour laquelle le contenu s'y trouve. est vide, c'est parce que chaque activité sera automatiquement intégrée dans TahHost

Notez que les balises ID et les éléments tabcontent des éléments TabWidget et FrameLayout, ces noms doivent être utilisés car TahHost récupère leurs références, et il s'attend à ce que ces noms
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp" />
    </LinearLayout>
</TabHost>
Copier après la connexion

6. Écrivez HelloTabWidget. Hériter de TabWidget


Résultat d'exécution :


package org.hualang.tabwidget;

import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.TabHost;

public class HelloTabWidget extends TabActivity  {
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            Resources res = getResources(); // Resource object to get Drawables
            TabHost tabHost = getTabHost();  // The activity TabHost
            TabHost.TabSpec spec;  // Resusable TabSpec for each tab
            Intent intent;  // Reusable Intent for each tab

            // Create an Intent to launch an Activity for the tab (to be reused)
            intent = new Intent().setClass(this, ArtistsActivity.class);

            // Initialize a TabSpec for each tab and add it to the TabHost
            spec = tabHost.newTabSpec("artists").setIndicator("Artists",
                              res.getDrawable(R.drawable.ic_tab_drawable))
                          .setContent(intent);
            tabHost.addTab(spec);

            // Do the same for the other tabs
            intent = new Intent().setClass(this, AlbumsActivity.class);
            spec = tabHost.newTabSpec("albums").setIndicator("Albums",
                              res.getDrawable(R.drawable.ic_tab_drawable))
                          .setContent(intent);
            tabHost.addTab(spec);

            intent = new Intent().setClass(this, SongsActivity.class);
            spec = tabHost.newTabSpec("songs").setIndicator("Songs",
                              res.getDrawable(R.drawable.ic_tab_drawable))
                          .setContent(intent);
            tabHost.addTab(spec);

            tabHost.setCurrentTab(2);
        }

}
Copier après la connexion
Ce qui précède est le contenu de la série de contrôles de l'interface utilisateur Android : disposition des onglets (disposition des onglets), contenu plus connexe Veuillez faire attention au site Web PHP chinois (www.php.cn) !

Série de contrôles de linterface utilisateur Android : disposition des onglets (disposition des onglets)

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Un nouveau rapport fournit une évaluation accablante des rumeurs de mise à niveau des appareils photo des Samsung Galaxy S25, Galaxy S25 Plus et Galaxy S25 Ultra Un nouveau rapport fournit une évaluation accablante des rumeurs de mise à niveau des appareils photo des Samsung Galaxy S25, Galaxy S25 Plus et Galaxy S25 Ultra Sep 12, 2024 pm 12:23 PM

Ces derniers jours, Ice Universe n'a cessé de révéler des détails sur le Galaxy S25 Ultra, qui est largement considéré comme le prochain smartphone phare de Samsung. Entre autres choses, le fuyard a affirmé que Samsung prévoyait d'apporter une seule mise à niveau de l'appareil photo.

Le Samsung Galaxy S25 Ultra fuit dans les premières images de rendu avec des rumeurs de modifications de conception révélées Le Samsung Galaxy S25 Ultra fuit dans les premières images de rendu avec des rumeurs de modifications de conception révélées Sep 11, 2024 am 06:37 AM

OnLeaks s'est désormais associé à Android Headlines pour offrir un premier aperçu du Galaxy S25 Ultra, quelques jours après une tentative infructueuse de générer plus de 4 000 $ auprès de ses abonnés X (anciennement Twitter). Pour le contexte, les images de rendu intégrées ci-dessous h

IFA2024 | Le NXTPAPER 14 de TCL n'égalera pas la Galaxy Tab S10 Ultra en termes de performances, mais il lui correspond presque en taille IFA2024 | Le NXTPAPER 14 de TCL n'égalera pas la Galaxy Tab S10 Ultra en termes de performances, mais il lui correspond presque en taille Sep 07, 2024 am 06:35 AM

En plus d'annoncer deux nouveaux smartphones, TCL a également annoncé une nouvelle tablette Android appelée NXTPAPER 14, et sa taille d'écran massive est l'un de ses arguments de vente. Le NXTPAPER 14 est doté de la version 3.0 de la marque emblématique de panneaux LCD mats de TCL.

Vivo Y300 Pro contient une batterie de 6 500 mAh dans un boîtier mince de 7,69 mm Vivo Y300 Pro contient une batterie de 6 500 mAh dans un boîtier mince de 7,69 mm Sep 07, 2024 am 06:39 AM

Le Vivo Y300 Pro vient d'être entièrement dévoilé et c'est l'un des téléphones Android de milieu de gamme les plus fins avec une grande batterie. Pour être exact, le smartphone ne fait que 7,69 mm d'épaisseur mais dispose d'une batterie de 6 500 mAh. C'est la même capacité que le lancement récent

Un nouveau rapport fournit une évaluation accablante des rumeurs de mise à niveau des appareils photo des Samsung Galaxy S25, Galaxy S25 Plus et Galaxy S25 Ultra Un nouveau rapport fournit une évaluation accablante des rumeurs de mise à niveau des appareils photo des Samsung Galaxy S25, Galaxy S25 Plus et Galaxy S25 Ultra Sep 12, 2024 pm 12:22 PM

Ces derniers jours, Ice Universe n'a cessé de révéler des détails sur le Galaxy S25 Ultra, qui est largement considéré comme le prochain smartphone phare de Samsung. Entre autres choses, le fuyard a affirmé que Samsung prévoyait d'apporter une seule mise à niveau de l'appareil photo.

Le Samsung Galaxy S24 FE est annoncé pour un lancement moins cher que prévu en quatre couleurs et deux options de mémoire Le Samsung Galaxy S24 FE est annoncé pour un lancement moins cher que prévu en quatre couleurs et deux options de mémoire Sep 12, 2024 pm 09:21 PM

Samsung n'a pas encore donné d'indications sur la date à laquelle il mettrait à jour sa série de smartphones Fan Edition (FE). Dans l’état actuel des choses, le Galaxy S23 FE reste l’édition la plus récente de la société, ayant été présentée début octobre 2023. Cependant, de nombreux

Xiaomi Redmi Note 14 Pro Plus arrive en tant que premier smartphone Qualcomm Snapdragon 7s Gen 3 avec caméra Light Hunter 800 Xiaomi Redmi Note 14 Pro Plus arrive en tant que premier smartphone Qualcomm Snapdragon 7s Gen 3 avec caméra Light Hunter 800 Sep 27, 2024 am 06:23 AM

Le Redmi Note 14 Pro Plus est désormais officiel en tant que successeur direct du Redmi Note 13 Pro Plus de l'année dernière (375 $ sur Amazon). Comme prévu, le Redmi Note 14 Pro Plus est en tête de la série Redmi Note 14 aux côtés du Redmi Note 14 et du Redmi Note 14 Pro. Li

iQOO Z9 Turbo Plus : les réservations commencent pour le produit phare de la série potentiellement renforcée iQOO Z9 Turbo Plus : les réservations commencent pour le produit phare de la série potentiellement renforcée Sep 10, 2024 am 06:45 AM

La marque sœur de OnePlus, iQOO, a un cycle de produits 2023-4 qui pourrait être presque terminé ; néanmoins, la marque a déclaré qu'elle n'en avait pas encore fini avec sa série Z9. Sa variante Turbo+ finale, et peut-être la plus haut de gamme, vient d'être annoncée comme prévu. T

See all articles