Comment inclure une mise en page dans une mise en page sous Android ?
Je suis en train de créer une mise en page commune. Je veux inclure cette mise en page dans une autre page.
Comment inclure une mise en page dans une mise en page sous Android ?
Je suis en train de créer une mise en page commune. Je veux inclure cette mise en page dans une autre page.
Edit : Comme dans un commentaire demandé à juste titre, voici quelques informations supplémentaires. Utilisez le include
étiquette
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/yourlayout" />
pour inclure la mise en page que vous souhaitez réutiliser.
Vérifiez ce lien dehors...
Juste un petit détail : utilisez Android:layout_width="match_parent" au lieu de Android:layout_width="fill_parent". fill_parent est déprécié.
Puis-je inclure une mise en page et définir certaines de ses propriétés via le xml, par exemple définir une chaîne de texte dans la sous-mise en page directement dans la balise <include> ?
@JohnyTex Je ne suis pas sûr que vous puissiez le faire directement dans l'interface de l'entreprise. <include />
cependant, vous pouvez le faire en utilisant du code java. voir Réponse de Phileo99 ci-dessous pour savoir comment obtenir une référence à la mise en page incluse. et ensuite vous pouvez modifier son contenu.
Notez que si vous incluez android:id...
dans le <include />
il remplacera l'identifiant défini dans la mise en page incluse. Par exemple :
<include
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/some_id_if_needed"
layout="@layout/yourlayout" />
votrelayout.xml :
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/some_other_id">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/button1" />
</LinearLayout>
Ensuite, vous ferez référence à ce modèle inclus dans le code comme suit :
View includedLayout = findViewById(R.id.some_id_if_needed);
Button insideTheIncludedLayout = (Button)includedLayout.findViewById(R.id.button1);
Utilice <include />
étiquette.
<include
android:id="@+id/some_id_if_needed"
layout="@layout/some_layout"/>
Lisez aussi Création de composants d'interface utilisateur réutilisables et Fusionner les mises en page articles.
De documents officiels sur Réutilisation des mises en page
Bien qu'Android offre une grande variété de widgets pour fournir des éléments interactifs petits et réutilisables, vous pourriez avoir des difficultés à les utiliser. éléments interactifs réutilisables, vous pouvez aussi avoir besoin de réutiliser des qui nécessitent une mise en page particulière. Pour réutiliser efficacement des mises en page complètes, vous pouvez utiliser la balise pour intégrer une autre à l'intérieur de la mise en page actuelle.
Voici mon en-tête.xml que je peux réutiliser en utilisant inclure l'étiquette
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:gravity="center"
android:text="@string/app_name"
android:textColor="#000000" />
</RelativeLayout>
Non, j'utilise le dans le XML pour ajouter une autre mise en page à partir d'un autre fichier XML.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#f0f0f0" >
<include
android:id="@+id/header_VIEW"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/header" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="#ffffff"
android:orientation="vertical"
android:padding="5dp" >
</LinearLayout>
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Il existe un exemple d'utilisation simple [dans cet article][1] [1] : stackoverflow.com/questions/2732682/