[JAVA] Résumé du développement de l'application Android Pokemon Trainer SE 2ème année ~ 2ème jour ~

introduction

C'est le deuxième jour du résumé du développement Android. Cette fois, je vais vous expliquer comment utiliser ** Activity # setContentView ** et ** \ <merge > **. Je ne pouvais pas expliquer comment gérer correctement la mise en page, alors je l'ai étudiée.

Activity#setContentView Cet exemple d'utilisation

sample


@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_next);

Le modèle et l'utilisation des appels de fonction sont les suivants. 1. setContentView (View view, ViewGroup.LayoutParams params)     Set the activity content to an explicit view. 2. setContentView (View view)     Set the activity content to an explicit view. 3. setContentView (int layoutResID)     Set the activity content from a layout resource. Référence: https://developer.android.com/reference/android/app/Activity

1.2 reflète la vue passée dans l'argument ** dans la mise en page. ** ** 3 est le modèle utilisé cette fois. ** Faites en sorte que Activity lise le fichier de mise en page passé en argument. ** ** Une image dans laquelle xml est chargé par setContentView pour l'objet réel de l'activité. Je me demandais si je devais exécuter cette fonction d'une manière, mais je pourrais le faire sans elle. Si setContentView (int layoutResID) n'est pas exécuté dans onCreate, la mise en page n'est pas chargée, donc l'écran blanc que vous souhaitez voir dans l'image ci-dessous s'affiche. スクリーンショット 2019-01-03 16.11.04.png

1.2 est d'afficher des vues supplémentaires plus tard Vous pouvez penser à 3 comme étant utilisé pour afficher d'abord l'activité de base.

<merge> ** Utilisez le XML d'inclusion pour fusionner avec la vue parent. ** ** ** Si vous pensez "Quel est le problème?" **, c'est la même chose que moi. J'ai réussi à le comprendre, alors je vais l'expliquer.

Tout d'abord, comme condition préalable, la mise en page parent du côté inclusion nécessite un groupe de vues. Par conséquent, s'il est super simplifié, il devrait avoir la configuration suivante.

parent.xml


<LinearLayout>
    <include~~~~~/>
</LinearLayout>

Et ce \ <include ~~~~~ / > contiendra la mise en page enfant. À ce stade, si vous utilisez un groupe de vues au lieu de \ <merge >, cela ressemblera à ceci.

childLayout1.xml


<LinearLayout>
    <TextView~~~~~/>
    <TextView~~~~~/>
    <TextView~~~~~/>
</LinearLayout>

Et quand il sera inclus et que l'union sera achevée, ce sera comme suit.

mergedLayout1.xml


<LinearLayout>
    <LinearLayout>
        <TextView~~~~~/>
        <TextView~~~~~/>
        <TextView~~~~~/>
    </LinearLayout>
</LinearLayout>

As-tu remarqué? Il y a un LinearLayout inutile dans LinearLayout, et ce n'est pas très cool.

La disposition enfant lors de l'utilisation de \ <merge > est la suivante.

childLayout2.xml


<merge>
    <TextView~~~~~/>
    <TextView~~~~~/>
    <TextView~~~~~/>
</merge>

Et fusionner! !!

mergedLayout2.xml


<LinearLayout>
    <TextView~~~~~/>
    <TextView~~~~~/>
    <TextView~~~~~/>
</LinearLayout>

Ce sera comme ça. Il n'y a pas de déchets de la mise en page précédente. \ <merge > est comme ceci ** utilisé pour fusionner avec le ViewGroup parent **, n'est-ce pas?

Résumé

Aujourd'hui, c'était environ ** Activity # setContentView ** et ** \ <merge > **. Si vous cherchez à nouveau, il y a beaucoup de choses qui vous intéressent. Je continuerai d'enquêter et de résumer ce que je me demandais avec Android. Merci pour la lecture.

Recommended Posts

Résumé du développement de l'application Android Pokemon Trainer SE 2ème année ~ 2ème jour ~
Résumé du développement de l'application Android Pokemon Trainer SE 2ème année ~ 1er jour ~
Résumé du lien de développement Android
Préparation au développement d'applications Android 7/15
Introduction au développement d'applications Android
Notes pour les débutants en développement d'applications Android
Mémorandum des débutants en développement d'applications Android