Benötigt jede neue Ansicht ein neues Layoutparams?

8

Nehmen wir an, ich möchte mehrere TextViews programmatisch in einem relativen Layout erstellen. Es sieht so aus, als müsste ich mit jedem neuen TextView auch ein neues LayoutParam erstellen:

%Vor%

Dann füge ich die Regeln hinzu, die ich verwenden möchte:

%Vor%

Es scheint, dass ich diese einzelnen LayoutParams nicht verwenden kann, um die Regeln für mehrere TextViews festzulegen. Ist das eine wahre Aussage?

Danke,

    
Andi Jay 23.03.2011, 16:03
quelle

3 Antworten

6

Die Verwendung derselben LayoutParams für mehrere Ansichten ist in Ordnung, die Einschränkung, dass das Ändern der LayoutParams, bevor die Ansichten das Layout durchlaufen haben, die Änderungen auf alle Ansichten anwenden wird.

Wenn Sie nur Code speichern möchten, können Sie in LayoutParams nachsehen: Konstruktor kopieren . Auf diese Weise können Sie neue LayoutParams aus den Daten in einem anderen LayoutParams erstellen, ohne dass sich die beiden auf dieselbe LayoutParams-Instanz beziehen.

    
Matthew Willis 23.03.2011, 16:20
quelle
2

Nachdem Sie die richtige LayoutParams-Instanz erstellt und erstellt haben, können Sie sie für jede Ansicht in diesem übergeordneten Element verwenden:

%Vor%

Wenn Sie unabhängige Kopien von params haben wollen (was Sie wollen, denke ich), können Sie es so ändern:

%Vor%     
Gangnus 30.01.2012 13:13
quelle
1

Wenn Sie mehreren TextViews dasselbe LayoutParams-Objekt zuweisen, teilen sie alle Einstellungen mit. Das heißt, wenn Sie etwas darin ändern, wird die Änderung für alle TextViews gelten. Im Allgemeinen möchten Sie für jedes TextView eine andere Instanz verwenden.

    
Cheryl Simon 23.03.2011 16:09
quelle

Tags und Links