Buch o.ä. zum Thema UI Entwicklung bzw. Gestaltung

  • Antworten:19
Sandra F.
  • Forum-Beiträge: 28

05.02.2010, 18:07:44 via Website

Hallo Leute,

ich weiß ja nicht wie es Euch geht, aber ich krampfe mir bei der UI-Gestaltung immer ganz schön einen ab. Bis alle Buttons, TextFelder usw. so sitzen wie ich es mir vorstelle ist das immer mit ganz schön viel Trial & Error verbunden. Das kostet Zeit, macht keinen Spaß und man lernt nicht wirklich was dabei.

Beide Bücher ("Android" von Arno Becker und "Android Programming Tutorials" von Murphy) mit denen ich bisher gearbeitet habe schneiden das Thema nur rudimentär an und auch die "HelloViews" sind für echte Apps zu trivial. Aus der Reference werde ich nicht wirklich schlau und verstehe viele der Attribute nicht wirklich. Und auch an das "Aufhübschen" mit Styles und Co. habe ich mich noch gar nicht rangetraut.

Kennt jemand von Euch eine gute Quelle (z.B. Buch, Tutorial, Video, etc.) von der man wirklich was Lernen kann? Oder kann mir jemand seinen Trick verraten, wie er es gelernt hat hübsche UIs umzusetzten? Wie ging/geht es Euch bei der UI Erstellung? Ist das auch immer so mühsam?

LG Eure,
Sandra

Antworten
Gelöschter Account
  • Mod
  • Forum-Beiträge: 3.188

05.02.2010, 18:13:25 via Website

Im Fall Android würde ich mal auf der entsprechenden Site schauen, ob es eine Art Leitfaden für die Gui-Oberfläche gibt. Oder auch eine Art Rumpfprogramm. Das man weiss wie eine App aussehen soll, Untermenüs usw.

Mit was entwickelst du ? Evtl. gibt es auch einen Gui-Editor dafür, bei dem man grafisch die Oberfläche gestalten kann, ohne auf Quellcode-Ebene sich mit Pixel-Angaben rumärgern zu müssen.

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

05.02.2010, 18:19:59 via Website

Michael Hillebrand

Mit was entwickelst du ? Evtl. gibt es auch einen Gui-Editor dafür

hehe, wer dafür was anständiges und brauchbares entwickelt, würde sicher viel geld von mir bekommen ;)

da gibt es wohl genau nichts, was man auch nur annähernd für ernsthafte apps verwenden könnte

swordiApps Blog - Website

Antworten
Gelöschter Account
  • Mod
  • Forum-Beiträge: 3.188

05.02.2010, 18:23:23 via Website


hehe, wer dafür was anständiges und brauchbares entwickelt, würde sicher viel geld von mir bekommen ;)

OK, die Wette gilt :grin::grin::grin:

Antworten
Sandra F.
  • Forum-Beiträge: 28

05.02.2010, 18:30:26 via Website

Michael Hillebrand
Im Fall Android würde ich mal auf der entsprechenden Site schauen, ob es eine Art Leitfaden für die Gui-Oberfläche gibt. Oder auch eine Art Rumpfprogramm. Das man weiss wie eine App aussehen soll, Untermenüs usw.

Das sind ja z.B. die "HelloViews". Gute Beispiele, aber über dieses Stadium bin ich inzwischen hinaus und brauche ein wenig mehr.


Michael Hillebrand
IMit was entwickelst du ? Evtl. gibt es auch einen Gui-Editor dafür, bei dem man grafisch die Oberfläche gestalten kann, ohne auf Quellcode-Ebene sich mit Pixel-Angaben rumärgern zu müssen.

Eclipse mit eingebundere Android SDK. Da gibt es einen graphischen Editor, der imho nicht wirklich zu gebrauchen ist. Oder habe ich das Ding bisher nur noch nicht richtig verstanden? :*) Habe auch schon DroidDraw benutzt. Gut für Prototyping, aber nichts für ein finales Produkt.

— geändert am 05.02.2010, 18:30:57

Antworten
Gelöschter Account
  • Mod
  • Forum-Beiträge: 3.188

05.02.2010, 18:40:08 via Website

Eclipse samt SDK habe ich auch drauf, aber bis auf etwas rumspielen und Code ansehen, ist noch nicht viel passiert. Droiddraw habe ich mir angesehen, sage jetzt aber besser nichts darüber ...

Na mal sehen, ich hab schon das unmöglichste gefunden :grin:

Antworten
Matthias La Schmu
  • Forum-Beiträge: 158

05.02.2010, 18:44:45 via Website

Das MotoDev hat auch noch nen Designer. ;-)

Antworten
Daniel B.
  • Forum-Beiträge: 191

05.02.2010, 18:58:32 via App

Das Android-eigene UI (wenn man das so nennen kann) ist eh hässlich.
Selberbauen is da immer besser wenn man wirklich was burnen will.

Antworten
Sandra F.
  • Forum-Beiträge: 28

05.02.2010, 20:19:21 via Website

Daniel Bihler
Das Android-eigene UI (wenn man das so nennen kann) ist eh hässlich.
Selberbauen is da immer besser wenn man wirklich was burnen will.

Selberbauen? Über "Drawables"? Oder gibt es da noch was anderes? Kennst Du da eine gute Resource zum Anschauen/Lernen?

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

05.02.2010, 20:19:52 via Website

Matthias La Schmu
Das MotoDev hat auch noch nen Designer. ;-)

kann der irgendwas brauchbares?

swordiApps Blog - Website

Antworten
Gelöschter Account
  • Mod
  • Forum-Beiträge: 3.188

05.02.2010, 20:41:30 via Website

Schau mir das gerade an. Bin dabei die ganzen SDKs zu laden. Sieht aus wie eine angepasste Version von Eclipse. Aber der Installationsvorgang läuft noch.

— geändert am 05.02.2010, 20:41:48

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

05.02.2010, 20:58:04 via Website

aha ok - hab mir das zu installieren erspart. eine ide reicht mir, aber wenn die irgendwas besser kann, dann kannst es uns ja wissen lassen ;)

swordiApps Blog - Website

Antworten
Gelöschter Account
  • Mod
  • Forum-Beiträge: 3.188

05.02.2010, 21:12:12 via Website

Ich schau es mir mal an. Wird ja unter einem eigenen Verzeichnis installiert, kommt also nicht mit meiner Eclipse-Installation in Gehege.

Antworten
Mirko Herbig
  • Forum-Beiträge: 48

05.02.2010, 21:56:48 via Website

Hallo Sandra,

das Thema GUI Design ist bei Android nicht so gut dokumentiert und auch leider in den Büchern nur kurz behandelt. Du wirst dich wohl viel mit der API-Doku beschäftigen müssen, denn dort sind eine Menge Infos versteckt. Um das Ganze dann in ein hübsches Design zu bringen, heißt es probieren, probieren, probieren …

Ich habe mir mal die Mühe gemacht und die meisten Attribute für die gängigsten Layout Klassen in eine FreeMind Datei als Übersicht zusammengefasst, mit direkter Verlinkung zur API-Doku.
Sie ist noch nicht vollständig, aber die wichtigsten Attribute sind enthalten. Wer sie haben will, einfach eine Mail an mich senden.



An Design Werkzeugen habe ich leider auch noch nichts brauchbares gefunden. DroidDraw ist wirklich nur für den Anfang gebrauchbar. Sonst kenne ich kein externes Tool. Bleibt also nur der SDK Eigene DesignViewer. Leider ist der auch etwas buggy, aber immer noch besser als gar nichts.
Das Design selber muss per XML Code definiert werden einen GUI-Designer im eigentlichem Sinne mit drag & drop gibt es im SDK nicht.

Gute Erfahrungen beim lernen habe ich mit dem Hierarchy Viewer gemacht. Dieser hat mir sehr geholfen die Zusammenhänge beim GUI Design zu verstehen.

Empfehlen kann ich dir folgende Grundstruktur für Deine GUI:

Verwende als Root Element ein RelativeLayout.
Darin entweder Blöcke mit LiniarLayout positionieren oder direkt die entsprechenden Views. (Label-, Image, Button-, TextView).
Vermeide eine zu tiefe Verschachtelung der LayoutViews. Max 3, besser nur 2 Ebenen.
Soweit möglich mit fill_parent / warp_content arbeiten.
Wenn du Größenangaben machst am besten dip (density independent pixel) verwenden. Das hat den Vorteil, dass dein Layout evtl. ohne Anpassungen auch auf größeren Displays funktioniert.

Hier mal ein Screenshot meiner App mit der oben beschriebenen Grundstruktur. Durch das RelativLayout ist es auch einfach mit nur wenigen Veränderungen, verschiedene Layouts für Hoch- und Querformat zuerstellen.



Sandra F.

Antworten
Gelöschter Account
  • Mod
  • Forum-Beiträge: 3.188

05.02.2010, 22:22:37 via Website

@Mikro
Wow, nicht schlecht.

Aber warum ich schreibe, ich habe jetzt Motodev komplett installiert und gestartet. Ich muss sagen, da bin ich schwer beeindruckt was Motorola da geschnitzt hat. Da hätte sich Google eine Scheibe abschneiden können. Eine geschlossene eigenständige Installation, die alles nachlädt und installiert was man braucht. Also kein rumgefummle mehr. Und alles auf Eclipse-Basis. Zusätzlich gleich noch einen RSS-Feed integriert, SVN, CVS und anderes. Bin noch am erkunden was das alles integriert hat und kann.

Für alle Androidentwickler auf jeden Fall ein Blick wert.

Antworten
Sandra F.
  • Forum-Beiträge: 28

05.02.2010, 22:27:57 via Website

Hallo Mirko,

vielen lieben Dank für Deine lange Erkärung. Sie zeigt, daß ich auf jeden Fall auf dem richtigen Weg bin... und daß ich nicht alleine bin, was das ganze Rumprobieren angeht. :D

Meine aktuelle App entspricht so ziemlich der Struktur, welche Du beschrieben hast. Allerdings benutze ich als innere Lage ein Table Layout, weil ich mehrere Views in einer Reihe brauche. Hatte das zunächst auch mit einem LinearLayout probiert, bin damit aber auf keinen grünen Zweig gekommen.

Bin natürlich an Deiner FreeMind Datei interessiert und werde Dir meine eMail Adresse zukommen lassen.

Darf ich noch was fragen? Wie bekommst Du denn Deine Anzeigen so schön hin? Sind das einfach nur TextViews mit anderen Farben, Hintergrund, Schattierung usw. oder ist das was richtig Selbstgebautes? Dazu habe ich im www nämlich noch gar nichts finden können. Scheint irgendwie so ein Entwicklergeheimnis zu sein...

LG Sandra

Antworten
Mirko Herbig
  • Forum-Beiträge: 48

05.02.2010, 23:05:21 via Website

Meist ist es einfacher als man denkt:
Der grüne Fuß ist als Hintergrund des RelativeLayouts zugewiesen.

1<RelativeLayout
2 xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:moveo="http://schemas.android.com/apk/res/de.mherbig.moveo"
4 android:id="@+id/rl_main"
5 android:layout_width="fill_parent"
6 android:layout_height="fill_parent"
7 android:background="@drawable/greenfoot"
8 >

Die grüne Fläche ist eine Hintergrundgrafik mit Alpha-Transparenz, die ich für alle Flächen wiederverwenden.
Diese wird direkt dem LiniarLayout zugewiesen. Damit die Grafik gut skaliert ist sie in ein NinePatchDrawable umgewandelt. Also von *.png zu *.9.png
Dazu zuerst eine kleine Grafik z.B. mit Gimp erstellen und dann einfach das png mit dem draw9patch tool (unter tools im SDK zufinden) bearbeiten und als 9.png speichern.

Die original Grafik für die grünen Flächen sieht so aus:



Sie ist relativ klein damit nicht viel Speicher verbraucht wird. Android skaliert dann die Grafik anhand der NinePatch Info entsprechen der benötigten Größe.

1<LinearLayout
2 android:id="@+id/ll_lable"
3 android:layout_below="@id/space"
4 android:background="@drawable/scback1"
5 android:layout_height="wrap_content"
6 android:layout_width="300dip"
7 android:layout_centerHorizontal="true"
8 android:orientation="vertical"
9 android:padding="6dip"
10 >

Die TextViews innerhalb des LinearLayouts haben keine weitere Formatierung außer Schriftgröße und Farbe.

Sandra F.

Antworten
Sandra F.
  • Forum-Beiträge: 28

05.02.2010, 23:55:48 via Website

Das ist ja wirklich nicht schwer. Nur wissen muß man es eben. Werde ich morgen gleich mal ausprobieren. Jetzt ruft erstmal das Bett! :bored:

Da es ja noch kein Buch zu dem Thema gibt: Willst Du nicht eins schreiben? Du kannst das nämlich richtig gut erklären!!!

Antworten
Sandra F.
  • Forum-Beiträge: 28

08.02.2010, 22:07:47 via Website

Ich habe mich zwar inzwischen bereits per PN bei Mirko bedankt, wollte hier aber im Forum auch kurz nochmal loswerden, daß die Tipps zur UI Programmierung von Mirko Gold wert sind. Mein UI gefällt mir inzwischen wirklich gut *freu*.

Jetzt kommt die nächste Lernphase: sqlite, denn meine Daten wollen ja auch gespeichert werden. Also Datenbankexperten: aufpassen... :cold:

Bis zum nächsten Hilferuf,
Eure Sandra

Antworten