Layout-Templates dynamisch laden

M

manoyo

Neues Mitglied
0
Hallo an alle,

ich habe eine Frage bzgl. des Generierens/Laden von Oberflächen.
Bei Android ist es ja so, dass die in XML formulierten Oberflächen vorkompiliert im Projekt zur Verfügung stehen. Es soll aber die Möglichkeit geschaffen werden, die Oberflächen mittels Customizing anzupassen, ohne dafür die App neu kompilieren zu müssen. Außerdem sollen ganze Oberflächen dynamisch als Ergebnis irgendwelcher Aktionen geladen werden. Ob das Listen sind oder Formulare ist hierbei völlig frei. Im Grunde ähnlich einem Templatesystem in HTML oder auch bei Microsoft WPF. Hier kann ich HTML/XML editieren, was zur Laufzeit dann geparst wird.

Zur eigentlichen Frage, wie kann ich das tun?
Es wäre super wenn Ihr Ansätze hättet, da ich im Moment echt planlos bin.

Danke und Gruß
 
Du kannst doch jederzeit Layout Elemente im Java Code erstellen und deinem Layout hinzufügen.

Code:
TextView tv = new TextView(context);
tv.setText("Hallo Welt");
vorhandenesLayoutElement.addView(tv);
 
Ja das schon. Aber stell dir vor jmd. möchte den Aufbau einer Eingabemaske samt Farben anpassen, die Reihenfolge der Felder soll anders sein usw. Dann will man hierfür doch keinen Code anpassen müssen. Dass sollte über ein Template gesteuert werden können. Und genau da ist mein Problem.
 
Das kannst Du durchaus mit festem Code machen. Das läuft letztlich darauf hinaus dass Du die XML Datei selbst parsen musst, und mit den geparsten Daten dann entsprechend die benötigten Views dynamisch per Code erzeugst.

Das Betriebssystem macht das ja letztlich genauso. Wenn Du Dich da entsprechen reinfuchsen möchtest kannst Du wahrscheinlich die entsprechenden Code-Teile die die XMLs auslesen und daraus die Views erzeugen aus dem Android Source übernehmen.
 
omg, ich habe befürchtet dass dieser Vorschlag kommt.

Was mich das wieder an Zeit kostet :crying:

Naja, wenn noch jmd. einen einfacheren Vorschlag hat, wäre ich sehr dankbar.
 
Sofern es wirklich nur um das Anzeigen / Ausblenden bzw. ändern der Reihenfolge geht kannst dir das natürlich spaaren.

Soll der User aber die Oberfläche komplett frei Anpassen können wirst wohl nicht drumrumkommen. Kannst ja mal nen blick auf meine App "Form Builder" werfen. Dort ist sowas schon umgesetzt.
 
Vielen Dank für deine Antwort, aber ich habe mich für einen etwas anderen Weg entschieden, bei dem das Layout im groben vorgegeben ist und nur Sachen wie Menüeinträge und angezeigte Daten dynamisch wechseln.

Deine App finde ich recht gut da es immer "irgendwelche" Dinge gibt, die man sich einfach mal notieren/aufheben will. Viel Erfolg weiterhin damit.
Recht hilfreich stell ich mir dort eine Spracheingabe vor. Der Witz ist, dass mir die meisten Dinge im Auto einfallen und ich dann nur begrenzt auf meiner Bildschirmtastatur rumtippen kann.

Danke soweit an alle.
 

Ähnliche Themen

L
Antworten
4
Aufrufe
1.337
lonnie9020
L
M
  • maksimilian
Antworten
3
Aufrufe
1.124
maksimilian
M
A
Antworten
1
Aufrufe
881
koje71
koje71
Zurück
Oben Unten