1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Layout-Templates dynamisch laden

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von manoyo, 02.01.2011.

  1. manoyo, 02.01.2011 #1
    manoyo

    manoyo Threadstarter Neuer Benutzer

    Beiträge:
    4
    Erhaltene Danke:
    0
    Registriert seit:
    02.01.2011
    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ß
     
  2. ts-apps, 02.01.2011 #2
    ts-apps

    ts-apps Erfahrener Benutzer

    Beiträge:
    194
    Erhaltene Danke:
    39
    Registriert seit:
    27.03.2010
    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);
     
  3. manoyo, 03.01.2011 #3
    manoyo

    manoyo Threadstarter Neuer Benutzer

    Beiträge:
    4
    Erhaltene Danke:
    0
    Registriert seit:
    02.01.2011
    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.
     
  4. wilco, 03.01.2011 #4
    wilco

    wilco Android-Hilfe.de Mitglied

    Beiträge:
    106
    Erhaltene Danke:
    32
    Registriert seit:
    10.08.2010
    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.
     
  5. manoyo, 03.01.2011 #5
    manoyo

    manoyo Threadstarter Neuer Benutzer

    Beiträge:
    4
    Erhaltene Danke:
    0
    Registriert seit:
    02.01.2011
    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.
     
  6. ts-apps, 03.01.2011 #6
    ts-apps

    ts-apps Erfahrener Benutzer

    Beiträge:
    194
    Erhaltene Danke:
    39
    Registriert seit:
    27.03.2010
    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.
     
  7. manoyo, 03.01.2011 #7
    manoyo

    manoyo Threadstarter Neuer Benutzer

    Beiträge:
    4
    Erhaltene Danke:
    0
    Registriert seit:
    02.01.2011
    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.
     

Diese Seite empfehlen