Ich bin neu in der Android-Entwicklung und stoße immer wieder auf Verweise auf das Aufblasen von Ansichten aus einer Layout-XML-Datei. Ich habe gegoogelt und den Entwicklungsleitfaden durchsucht, konnte aber immer noch nicht verstehen, was das bedeutet. Wenn jemand ein sehr einfaches Beispiel liefern könnte, wäre es sehr dankbar.
android
android-inflate
Brendan Weinstein
quelle
quelle
findViewById
die Ansichtsobjekte bereits im Speicher. Der einzige Grund, warum Sie dies tun, besteht darin, einen Verweis auf dieses bestimmte Objekt abzurufen (entweder um es zu ändern oder um Daten daraus abzurufen).Das "Aufblasen" einer Ansicht bedeutet, dass Sie das Layout-XML nehmen und analysieren, um die Ansichts- und Ansichtsgruppenobjekte aus den darin angegebenen Elementen und Attributen zu erstellen, und dann die Hierarchie dieser Ansichten und Ansichtsgruppen zur übergeordneten ViewGroup hinzufügen. Wenn Sie setContentView () aufrufen, werden die Ansichten, die beim Lesen des XML erstellt werden, an die Aktivität angehängt. Sie können LayoutInflater auch verwenden, um einer anderen ViewGroup Ansichten hinzuzufügen. Dies kann unter vielen Umständen ein nützliches Werkzeug sein.
quelle
Beim Aufblasen wird der Aktivität zur Laufzeit eine Ansicht (.xml) hinzugefügt. Wenn wir eine Listenansicht erstellen, blasen wir jedes ihrer Elemente dynamisch auf. Wenn wir eine ViewGroup mit mehreren Ansichten wie Schaltflächen und Textansicht erstellen möchten, können wir sie folgendermaßen erstellen:
Dann müssen wir ein Layout erstellen, in dem wir die obigen Ansichten hinzufügen können:
Und jetzt, wenn wir eine Schaltfläche in der rechten Ecke und eine Textansicht in der unteren Ecke hinzufügen möchten, müssen wir viel Arbeit leisten. Zuerst instanziieren Sie die Ansichtseigenschaften und wenden dann mehrere Einschränkungen an. Dies ist zeitaufwändig.
Android macht es uns einfach, eine einfache XML-Datei zu erstellen, ihren Stil und ihre Attribute in XML zu entwerfen und sie dann einfach überall dort aufzublasen, wo wir sie benötigen, ohne Einschränkungen programmgesteuert festlegen zu müssen.
quelle
Ich denke hier bedeutet "Aufblasen einer Ansicht" das Abrufen der Datei layout.xml, wobei eine in dieser XML-Datei angegebene Ansicht gezeichnet wird, und das POPULIEREN (= Aufblasen) der übergeordneten viewGroup mit der erstellten Ansicht.
quelle
Eine Laiendefinition für Inflation könnte darin bestehen, den XML-Code in Java-Code umzuwandeln. Nur um zu verstehen, z. B. wenn wir ein Tag in XML haben, muss das Betriebssystem ein entsprechendes Java-Objekt im Speicher erstellen, damit inflatter die XML-Tags liest und die entsprechenden Objekte in Java erstellt.
quelle
Da wir die Benutzeroberfläche in XML umwandeln, aber Ansichtsobjekte anzeigen, müssen wir XML irgendwie in Ansichtsobjekte konvertieren, sodass das Aufblasen bedeutet, dass wir XML in Ansichtsobjekte konvertieren, damit es angezeigt werden kann. Dazu benötigen wir einen Dienst namens Layout Inflator-Dienst und gib ihm eine XML und es wird für dich konvertiert.
quelle