Ich kann falsch sein, wie <include>
und <merge>
funktionieren, aber nach Simple example of <merge> and <include> usage in Android XML-layouts, <include>
bedeutet "nehmen Sie diese Datei und fügen Sie ihren Inhalt hier".Unterstützt Android die Vererbung von Layouts (ähnlich wie Django-Vorlagen)?
Angenommen, Sie möchten 3 Aktivitäten haben, die alle den gleichen Header haben, aber unterschiedliche Inhalte haben. Sie müssen immer noch 3 XML-Layoutdateien für jede Aktivität haben. Der einzige Unterschied zwischen den einzelnen Layouts besteht darin, dass sie im Tag <include>
ein anderes Layout definieren. Wenn ich eine Fußzeile hinzufügen wollte, müsste ich jedes Layout ändern.
Ich bin auf der Suche nach einer Möglichkeit, die Umkehrung zu erreichen, so dass die Kinder Layouts bestimmte Blöcke des Elternteils überschreiben würden (similar to Django templates). Auf diese Weise würde ich, wenn ich diese Fußzeile hinzufügen wollte, einfach die Eltern ändern, und die Kinder würden weiterhin nur den Inhalt überschreiben.
Nun, Sie könnten es natürlich programmatisch tun, mit dem Layout inflater, einige Vorlagen und Ihre eigene Vorlagenklasse. – janoliver
'Style Vererbung' ist einfach. Verweisen Sie einen vorherigen 'Stil' auf das Attribut 'Eltern' eines neuen' Stils' –