Gateway_man Geschrieben 11. März 2011 Teilen Geschrieben 11. März 2011 Hallo, ich habe die Aufgabe ein Programm zu schreiben, welches Daten aus der Datebank holt und wieder wegschreibt. Diese Anwendung soll auf Android laufen. Ich hatte mich dann also für Java entschieden und mir das entsprechende Android SDK runtergeladen. Da es ja scheinbar unter android kein Swing gibt, sondern stattdessen ein namespace namens Android.widget dafür hergenommen wird, habe ich diesbezüglich ein paar Fragen. Für mich ist es unerlässlich das ich die Controls des UI im Code definieren kann, was ja prinzipiell möglich ist. Nun wollte ich aber die Platzierung absolut über den Code tätigen. Sprich: Button1.setLocation(x,y); Da macht mir die Klasse einen Strich durch die Rechnung, da es diese Property nicht gibt und ich noch kein vergleichbares Äquivalent dazu gefunden habe. Dann habe ich mich ein wenig eingelesen und fand herraus das man die Componenten in einer xml datei definiert und deren Positionierung über obskure Begrifflichkeiten wie Margin left etc. , welche mich schmerzlicherweise an html und konsorten erinnerten, gesetzt wird. So nun meine Primären Fragen: 1. Muss ich zwangsweise auf diese nervende xml Datei zur Controlls-Deklarierung zurückgreifen. 2. Muss ich diese absolut nichtssagenden html und css Positionierungswörter nutzen oder gibt es eventuell nicht doch irgendeine Möglichkeit das ganze über Absolute Kooridnaten zu regeln. (Bitte keine Antworten wie, damit bist du nicht flexibel genug) lg Gateway Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 11. März 2011 Teilen Geschrieben 11. März 2011 Bei dem Android Eclipse Plugin ist auch ein GUI-Designer implementiert, der dir das abnimmt. Soweit ich mich erinnere, ist der bevorzugte Weg über diese XML-Dateien und nicht per Code-Definition. Es gibt zur Programmierung ein kostenloses Buch: dpunkt.verlag | Android Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
realgun Geschrieben 11. März 2011 Teilen Geschrieben 11. März 2011 Eigentlich benutzt man bei Andorid keine Absoluten Koordinaten sondern definiert verschiedene Layouts. Es gibt allerdings auch ein AbsoluteLayout. Wie lupo49 schon schrieb, der "normale" Weg geht über die layout.xml. Du kannst aber auch die Controls im Code definieren und setzen. Da (ich glaub fast alle) Controls / Widgets von "View" erben, kannst Du dort nachlesen wie die entsprechenden Methoden heißen. Wenn Du ein AbsoluteLayout verwendest, fügst Du diesem die Widgets hinzu und übergibst noch ein "LayoutParams"-Objekt. Das beschreibt dann die Größe/Pos: AbsoluteLayout abslay=new AbsoluteLayout(this); Button btn=new Button(this); btn.setText("Hello"); //ctor: AbsoluteLayout.LayoutParams(width,height,position X,position Y) AbsoluteLayout.LayoutParams params = new AbsoluteLayout.LayoutParams(AbsoluteLayout.LayoutParams.WRAP_CONTENTAbsoluteLayout.LayoutParams.WRAP_CONTENT,10,100); abslay.addView(btn, params); setContentView(abslay); Allerdings hat das AbsoluteLayout einen entscheidenden Nachteil: es als bereits als "deprecated" markiert... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.