Brauche Hilfe für meine Layout-Auswahl & -Programmierung

R

RoboTH

Gast
Hallo zusammen,

ich sitze gerade an meiner ersten App und habe erst vor ein paar Tagen mit der Android-Programmierung begonnen.

Meine App-Idee ist folgende:
In einer Datenbank sind verschiedene Gutscheine gespeichert, von denen wöchtentlich ein neuer abgerufen werden kann. Bereits angezeigte Gutscheine bekommen in der Datenbank den Wert 1 in der Spalte "geschenkt", anhand welcher ich bei Klick auf einen Button "Meine Gutscheine" die bereits "verschenkten" Gutscheine filtern und anzeigen möchte.

Ich bin bisher soweit, dass ich eine Datenbank angelegt und mit Testgutscheinen gefüllt habe. Nun sitze ich an der Layoutgestaltung und bin wahrlich am verzweifeln, da ich mittlerweile nach gefühlten tausend Google-Anfragen kaum noch durchblicke was ich alles schon gelesen habe und alles irgendwie durcheinander bringe.

Daher meine Frage, ob Ihr mir einen Denkanstoß geben könntet, wie ich mein Layout zu programmieren habe:

Dargestellt werden sollen die Gutscheine so, dass ich eine Art Listview habe, in der die Gutscheintitel untereinander aufgelistet sind. Rechts neben jedem Listview-Eintrag soll ein Button sein, der den jeweiligen Gutschein bei einem Klick als Favorit kennzeichnet, was ebenfalls in der Datenbank vermerkt wird.
Zusätzlich soll bei einem Klick auf einen Listview-Eintrag ein Popup öffnen, in dem eine Beschreibung des Gutscheins angezeigt wird. Diese wird ebenfalls aus der Datenbank gelesen.

Ich habe eine Objektklasse für die Gutscheine geschrieben, die die Attribute "Titel", "Beschreibung", "Kategorie", "vergeben", "favorisiert" und "eingelöst" beinhaltet. Das schreiben und lesen in die Datenbank geschieht durch Auslesen der Objektattribute und funktioniert wunderbar.

Ich hänge halt nur beim Layout :confused2: Mein Problem ist, dass ich dieses ja abhängig der Datenbankeinträge (Anzahl verschenkter Gutscheine), also während der Laufzeit erstellen muss. Und welches "Grundgerüst" (TableView, ListView etc. sollte ich verwenden?
Ich habe überlegt, jeder ListView-Zeile (bestehend aus Titelanzeige und Button) ein Gutschein-Objekt zuzuordnen und mit .setText(Gutschein.getTitel()) usw. zu beschriften. Geht das? Und wenn ja, wie?

Bin für jede(n) Idee oder Hinweis sehr dankbar! Gerne auch nur Stichworte an denen ich mich mit Hilfe von Google entlanghangeln kann. Stehe momentan nur komplett auf dem Schlauch :bored:
 
Wie wäre es mit einer Zeichnung, wie du dir das Layout vorstellst?

Also ich habe für Android noch nicht programmiert. Logisch gesehen, sollte das trotzdem klappen. Ich würde mir eine Klasse erstellen, welches ein Panel ist. Innerhalb der Klasse werden ein paar Labels erstellt für die Beschriftung und Deteils und rechts in dek Panel ein Button. Diese Klasse kann dann je nach Anzahl in einer Schleife erstellt werden. Und jede immer ein paar Pixel tiefer als dir davor.

Kann man das verstehen, was ich meine?
 
Eine List view ist wahrscheinlich die beste Möglichkeit. Um sie selbst zu gestalten, brauchst du eine Custom list view. Da kannst du definieren, aus welchen views eine Zeile besteht und sie dann in einem Custom array Adapter befüllen.

Gesendet von meinem LG-P880 mit der Android-Hilfe.de App
 
Ok, habe es mal diversen Tutorials mit der ListView versucht. Hatte bisher den Adapter nicht verstanden aber nun klappts...
Nur gefällt mir die Aufteilung der einzelnen Reihen noch nicht...

Könnt ihr mir sagen, wie ich den Button weiter rechts anzeigen kann? Im "Graphical Layout" sind sind sie es. Habe schon mit Padding, Margins etc. rumgespielt aber an der Buttonposition tut sich rein gar nichts :glare:

Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingLeft="15dp" >

    <TextView
        android:id="@+id/txtTitle"
        android:layout_width="280dp"
        android:layout_height="fill_parent"
        android:layout_marginBottom="1dp"
        android:layout_marginTop="1dp"
        android:gravity="center_vertical"
        android:paddingLeft="10dp"
        android:textColor="#0099FF"
        android:textSize="18sp"
        android:textStyle="bold" />

    <ImageButton
        android:id="@+id/listview_fave_button"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_marginBottom="1dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="1dp"
        android:gravity="center_vertical" >
    </ImageButton>

</LinearLayout>
 

Anhänge

  • voucher listview.jpg
    voucher listview.jpg
    29,6 KB · Aufrufe: 296
Das äussere Layout hat nur ein " android:layout_width="wrap_content"" folglich wird das nie größer als der Inhalt. Da würde ich jetzt mal ansetzen ;)
 
Ach, die Welt ist so einfach, wenn man weiß wie sie funktioniert :p Danke! ;-)
 

Ähnliche Themen

D
Antworten
17
Aufrufe
409
datNeMo
D
R
Antworten
4
Aufrufe
733
Rapidoman
R
R
  • RudolfHagen
Antworten
1
Aufrufe
652
koje71
koje71
Zurück
Oben Unten