Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Android widgets platzieren

Empfohlene Antworten

Veröffentlicht

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

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

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...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.