Gruppieren von ImageViews bzw. Alternative von ImageViews

  • Antworten:3
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 2

15.04.2015, 20:49:48 via Website

Hallo,
Ich bin neu hier im Forum und auch sehr neu was Java programmierung auf Android Basis angeht.
Ich weiß leider nicht welche Möglichkeiten es gibt um bestimmte Dinge zu realisieren und werde mein bisheriges Vorhaben deswegen dar legen, sowie mein Vorgehen, sodass notfalls eingegriffen werden kann.

Zu Beginn möchte ich einen Startbildschirm kreieren und habe diesbezüglich auch direkt ein vorab-Design angelegt. Es besteht aus einzelnen Kacheln. Um ein bessere Bild zu bekommen habe ich das grobe Design hochgeladen:
img5.myimg.de/Unbe6256nanntbb2ab.jpg

Die unteren drei Schaltflächen sollen beim tippen oder wischen nach oben gezogen werden und geben eine untere Leiste frei (wie auf dem Foto zu sehen). Man kann zwischen den Punkten wechseln und sie danach wieder bequem nach unten schieben, sodass die Einstellung verdeckt werden.

Mein bisheriger Ansatz sieht so aus, dass ich für die Schaltflächen zwei ImageButtons verwende, die eigentlich nur blau sind, weil mir keine andere Implementierung bekannt ist. Über einen onClick Listener wird die Position der Schaltflächen verändert, sowie die Position eines ImageViews (der blauen Einstellungsleiste).

Jetzt möchte ich natürlich auch Text usw. auf den ImageButtons/Views platzieren. Diese soll sich allerdings an die Position der Schaltflächen anpassen, da ich nicht jedes einzelne Element auch nach oben verschieben möchte, wenn auf eine Schaltfläche geklickt wird.

Ich fürchte, dass es eine wesentlich elegantere Lösung gibt wie z.B. ein Container, dessen Hintergrund sich blau färben lässt o.ä.
Da ich wie oben erwähnt leider keine Kenntnis besitze, WAS Android alles bereit stellt wäre ich um Lösungsansätze sehr dankbar.

Mit freundlichen Grüßen,
Lucas

— geändert am 15.04.2015, 20:50:05

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.165

15.04.2015, 21:46:06 via App

Hallo Lucas,
Herzlich wilkommen hier im Forum :)
Mit was hast du denn dein grobes Layout erstellt?
Sieht sehr nach WindowsPhone/Win8 app aus.
Designtechnisch sind die Apps bei Android meist anders erstellt elals bei WinPhone.

So jetzt aber zu deiner Frage:

Also imagsbuttons kannst du natürlich nehmen, dann musst du aber den Text ins Bild machen oder versuchen den Text auf den Button zu bekommen ( weiss grade selber nich ob ein Image Button das kann).
Als alternative nimmst du einen normalen Button und setzt einen Text und machst den Hintergrund blau. Das geht über das xml Attribut android:background oder per code.
Bei den normalen Buttons musst du den Text dann auch nicht extra verschieben, da der Button ja das textfeld selber besitzt.

Nächste möglichkeit: Du nimmst den imageButton als grundlage und erstellst eine eigene Klasse die davon erbt. Dann programmiert du deine eigene View sozusagen ein ImageButton mit integriertem Textfeld.

Aber ich denke mit den ersten beiden bist du schon zufrieden, die dritte ist nämlich aufwendig.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
  • Forum-Beiträge: 2

20.04.2015, 20:11:44 via Website

Hallo,
naja, uns geht es beim Design vor allem um einen klaren, einfachen Aufbau. Der Anwender soll so simpel wie möglich sich in der Applikation zurecht finden.

Da wir vor haben, mehrere Hintergrundfelder mit Text zu verwenden, finden wir die Sache mit einer externen Klasse passend.
Jetzt ist die Frage, wie ich diese Klasse realisiere. Grundlegend habe ich mir überlegt alle relevanten Parameter in entsprechende Variablen zu speichern und ein ImageView (erstmal, das Textfeld muss ja nicht sein, erst wenn das andere läuft) iv über
iv = new ImageView(context);
zu erstellen. Doch was meint Context? Hier bin ich bisher leider gescheitert.

Weiterhin fand ich im Internet die Möglichkeit ein linearLayout zu erstellen und das ImageView und das Textfeld einzufügen und gesammelt per getter Methode an die Mainclass weitergeben.

Welche ist die elegantere und bessere Möglichkeit?

Antworten
  • Forum-Beiträge: 1.904

20.04.2015, 21:51:59 via App

Ich habe in einer meiner Apps das ganze einfach mit einem Relative Layout gemacht, den Text zum jeweiligen Bild mit layout_below.

Mit dem Context solltest du dir die Grundlagen angucken. Deine Activity erbt von Context, also übergibt du die Activity.

— geändert am 20.04.2015, 21:52:14

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten

Empfohlene Artikel