2 Stimmen

Android GUI XML vs Code

Ich habe eine kurze Frage zur Erstellung von GUIs in Android. Welcher Weg ist besser, XML oder Codierung? Ich lese immer, dass XML viel besser ist, aber stellen Sie sich vor, Sie haben eine ScrollView. Innerhalb der ScrollView befindet sich ein RelativeLayout. Darin soll es mehrere Zeilen mit einem ImageView neben einem TextView neben einem RadioButton geben. Die Anzahl der Zeilen kann variieren. Ist es wirklich besser, beispielsweise 50 Ansichten im XML zu erstellen oder eine Schleife im Code zu verwenden, in der diese Ansichten erstellt werden?

7voto

m0skit0 Punkte 23904

Jedes hat seine Vor- und Nachteile. Hier sind nur einige Beispiele:

XML

  • pros -> schnelle GUI-Entwicklung, sauberer Code
  • cons -> statisch

Dynamisch (Code)

  • pros -> in der Lage, auf Laufzeitbedingungen zu reagieren
  • cons -> mehr Code, was zu schlechterer Wartbarkeit und potenziell fehlerhafterer führen kann

1voto

kosa Punkte 65422

Wenn Sie Komponenten dynamisch hinzufügen müssen, ist der einzige Weg, mit Code zu gehen (oder) einen gemischten Ansatz zu wählen (Layout in XML definieren und Komponenten im Code hinzufügen). Wenn Ihre Komponenten statisch sind, ist XML möglicherweise am besten geeignet.

1voto

keyser Punkte 18349

Dynamischer Inhalt wird natürlich dynamisch hinzugefügt. Ihr Beispiel würde also etwas Java-Code erfordern. Sie sollten den dynamischen Teil jedoch nur programmatisch hinzufügen, sodass Sie weiterhin ein XML-Dokument für die statischen Teile verwenden würden (es ist sehr ungewöhnlich, dass ein Layout vollständig dynamisch ist).

Wenn Sie eine feste Anzahl von Ansichten haben, würde ich tatsächlich 50 davon in XML schreiben, anstatt sie mit einer Schleife zu erstellen. Ich vermute, Sie fragen sich nach Code-Duplizierung und soweit ich weiß, tritt diese bei der Verwendung von XML tatsächlich auf.

(Eine Möglichkeit, die Code-Duplizierung innerhalb von XML zu minimieren, besteht in der Verwendung von Stilen und Themen)

1voto

ZOXIS Punkte 578

Ich stimme dem obigen zu. XML ist ein besseres Vorgehen für diese, auch wenn Sie dynamische Updates benötigen, können Sie dennoch XML-Bits und -Stücken verwenden, um den Inhalt wiederzugeben. Ihr Code wird auf XML-Elementen basieren, aber XML-Dateien werden unabhängig sein. Daher, wenn Sie eine Funktionalität im Code brechen, wissen Sie, dass es Ihre Geschäftslogik ist, die kaputt ist, nicht der UI-Teil, was es einfacher macht, Probleme leicht zu entwickeln und zu finden.

0voto

Olivier.G Punkte 143

Warum verwenden Sie nicht lieber einen ListView anstelle eines ScrollView. Es wird einfacher zu implementieren sein und die Leistung sollte damit besser sein.

Erstellen Sie eine XML-Datei mit einem ListView und implementieren Sie in Ihrer Aktivität Ihren eigenen Adapter, um die Zeilen zu instanziieren. Sie können viele Tutorials im Internet finden, die darüber sprechen, da bin ich sicher, dass Sie finden, was Sie brauchen! Viel Glück.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X