Also, heiße 2,5 Stunden meines Lebens habe ich nun damit verbracht hinter das Layoutsystem eines Widgets zu kommen.
Leider hab ich noch immer keinen Plan wie ich pixel in dip umrechnen kann… i mag net mehr.
Aber egal… zurück zum Thema:
Kurz gesagt man will ein Widget für den Homescreen erstellen, auf der dev. Seite von Google gibt ja eine Anleitung um im Netz schwirren auch ein paar wenige herrum.

Man macht einen Frame oder borgt sich hier einen aus. Nehmen wir den 4×1 oder 320*480px Frame. Man baue in als Hintergrundbild für das Widget ein.
Nun poitioniere man noch 2 Button an pos x=0, y=0px und einen Textview im Widget und Starte es….
Richtig, es sieht sehr unförmig aus.

Das Liegt daran das für die Position x=0,y=0 die größe des Frames entscheident ist.

In dem Originalbild kann man erkennen das der Frame noch einen Durchsichtigen Rahmen hat damit die Widgets nicht aneinander kleben.
Jetzt kommts, hier verlangt Google nun den Draw-9-Patch anzuwenden. In eurem Android SDK Ordner unter Tools gibt es draw9patch.bat, diese Starten und die Original png File öffnen.

Hier kann man nun mit den Punkten die man setzen kann einen *neuen* 0 Punkt setzen.
Was die .9.png nun ganz genau machen weiß ich zwar noch nicht, aber mir ist das mit dem 0 Punkt wichtiger. ^^
Wenn man das bearbeitete Bild nun speichert hat man eine background_widget.9.png Datei. Diese nun in den drawable Ordner reinkopieren und in der xml ganz normal ohne .9 ansprechen.
android:background=”@drawable/background_widget”
Jetzt sollte das Bild so aussehen…

Der neue 0 Punkt wird angenommen!
Jetzt geht es nur mehr darum die Buttons und den TextView neu auszurichten.







