Ich habe ein Android-XML-Layout, main.xml. Ich möchte diesem Layout zur Laufzeit Steuerelemente hinzufügen (ich möchte eine Reihe von zusätzlichen linearen Layouts hinzufügen, die Schaltflächensteuerelemente enthalten). Kann ich das tun und wenn ja, wie?
Danke
Ok, ich habe es zur Arbeit gebracht.
Die Schritte sind die folgenden: Erweitern Sie zuerst das XML-Layout, dh
%Vor%Instanziieren Sie dann das Containerobjekt aus dem XML-Layout in eine ViewGroup-Klasse, dh
%Vor%Erstellen Sie dann ein linearLayout-Objekt, erstellen und fügen Sie alle erforderlichen Steuerelemente hinzu, fügen Sie dem Containerobjekt das Argument linearLayout hinzu und verwenden Sie setContentView für das Ansichtsobjekt, z. B.
%Vor%Sie können dies ganz einfach tun, indem Sie eine ID für das Layout festlegen, dem Sie Ansichten hinzufügen möchten. Sagen Sie, Ihre main.xml sieht so aus:
%Vor% Nehmen wir an, Sie möchten Ihre zusätzlichen Sichten zum LinearLayout
mit der ID id/container
hinzufügen. In Ihrer onCreate
-Methode können Sie dieses Objekt zur späteren Verwendung abrufen:
Jetzt können Sie Ihrem Container ViewGroup
:
In der Methode getButtons
müssen Sie Ihre LinearLayout
mit den benötigten Schaltflächen erstellen. Entweder programmgesteuert oder durch Aufblasen einer in einer XML-Datei definierten Ansicht. Siehe LayoutInflater.inflate
.
versuche es einfach:
%Vor%Erstellen Sie nun dynamisch einen Button wie diesen
%Vor%jetzt, wenn Sie onether linearlayout hinzufügen möchten, dann fügen Sie es unter Knopf dann
hinzu %Vor%