German Größe für Widgets

DonManfred

Expert
Licensed User
Longtime User
Ich versuche es erstmal hier im deutschen Forum da ich es in Deutsch vermutlich besser erklären kann.

In seinem Widget Tutorial II schreibt Erel

We are setting the base panel size to 294x72. This is the recommended size for a 4x1 cells widget.

Ich habe Ein Widget erstellt dessen Panel 294x144 misst (zumindest in der Versio die ich auf Arbeit habe) bzw habe es nun auf diese Größe gebracht. Mein Plan war das ich es auf einem Platz von 4x2 untergebracht bekomme. Das funktioniert nun auch soweit. Also das es nur diesen Platz einnimmt.
Hintergrund: Mein Chef möchte zwei Plugins zu je 4x2 auf seinem S3 haben. Also auf einem der Startbildschirme. Unser plugin hatte aber 4x3 eingenommen.
Ok, das habe ich nun hinbekommen das es auf 4x2 passt.

Im Abstract designer habe ich "Abstract Designer (100%) 320x480, scale=1" im Fenstertitel stehen falls das von Belang ist.

Plaziert man nun das Widget auf einem Homeschirm so nimmt es aber nicht die kompletten - auf dem handy sichtbaren - 100% der definierten Breite und höhe (wie gesagt; 294x144 als Width/height im designer) ein.

"Oben links" passt soweit. Das ist schon weit zum "rand" hin ausgerichtet. ABER in der breite würde ich ca 20% rechts und in der höhe ca 10% unten als "fehlend" ansehen. Also das Widget könnte durchaus, optisch auf dem Startbildschirm, mehr Platz einnehmen um den 4x2-Platz zu rechtfertigen.

Das ist erin wenig unpraktisch ;) Aber ich vermute es gibt dafür eine ganz simple Erklärung und auch einen ganz simplen Trick wie das "richtig geht". Ich kenne ihn nur leider nicht :D

+ = Platz auf startscreen der eingenommen wird (und der von anderen 4x2-Widgets auch VOLL ausgenutzt wird)

* = Das Panel meines Widgets welches ich auf dem Handy sehen kann.

*******************************************************++++++++++++
******************************************************* +
******************************************************* +
*******************************************************++++++++++++
******************************************************* +
+ +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Proportionen können von der Realität abweichen o_O Aber so vom Grundprinzip sieht so "das Problem" aus.

Weis da jemand Abhilfe? Oder Tips was ich wo beachten muss. Oder ob ich das alles per Code machen muss oder oder oder...

Jeglicher Hinweis auf den Täter (die Lösung) können in jeder Polizeidienststelle (oder vertretend dafür dieses Forum hier :D) abgegeben werden.

Jedem Hinweis wird nachgegangen ;)

Vielen Dank schonmal vorab für die vielen antworten und Hilfestellungen (kenne ich ja hier im Forum gar nicht anders) :rolleyes:

Edit: Nachtrag.. dummer Editor. Man kann in ihm eine Fontfamily Courier New einstellen und man kann das im Editor auch gut sehen. aber hier im Thread dann ist da nichts mehr von Courier New zu sehen :-/
 
  • Like
Reactions: eps

corwin42

Expert
Licensed User
Longtime User
Das geht mit Bordmittlen von B4A leider nicht. Du kannst maximal das Widget zentrieren lassen.

Das liegt ganz einfach daran, dass B4A als Basis das AbsoluteLayout benutzt, das für alles feste Positionen und Größen vorgibt.
Ändern kann man das nur, indem man das Layout des Widgets manuell als XML-File erstellt. B4A generiert unter Objects\res\layout eine XML-Datei für das Widget. Die kann man als Basis nehmen und das Layout per Hand anpassen.
Das ist allerdings eine ziemliche Fummelarbeit und man muss gute Kenntnisse über die Android XML Layouts haben.
 

eps

Expert
Licensed User
Longtime User
Das geht mit Bordmittlen von B4A leider nicht. Du kannst maximal das Widget zentrieren lassen.

Das liegt ganz einfach daran, dass B4A als Basis das AbsoluteLayout benutzt, das für alles feste Positionen und Größen vorgibt.
Ändern kann man das nur, indem man das Layout des Widgets manuell als XML-File erstellt. B4A generiert unter Objects\res\layout eine XML-Datei für das Widget. Die kann man als Basis nehmen und das Layout per Hand anpassen.
Das ist allerdings eine ziemliche Fummelarbeit und man muss gute Kenntnisse über die Android XML Layouts haben.

Hi Cor, can you translate this and place on this thread please? http://www.b4x.com/android/forum/threads/widget-sizes-on-xlarge-screen-phones.37210/#post-219325

I tried to Google Translate the above, but it didn't quite come out.

I guess you're saying that we need to edit the XML manually? Is this because of Android 4 onwards?
 

DonManfred

Expert
Licensed User
Longtime User
Vielen Dank, @corwin42 ... Sowas ähnliches hatte ich mir fast schon gedacht...
Wenn man aber über die XML-Datei das einstellen kann, dann werde ich versuchen mich da reinzufummeln... Die in der Widget-Auswahl angezeigte "Vorschaugrafik" habe ich auch schon durch eine grössere Ansicht getauscht. Dazu musste ich in die Widget_info.xml was eintragen. Das klappt auch schon super...

Hast Du evtl. Beispiel-XML Datei(en) die ich mir angucken könnte um die Unterschiede zu erkennen?


Das besagte Widget ist nur bei meinem Chef und bei mir im Einsatz. Von daher sind die verwendeten Devices begrenzt. In unserem Fall wird das Samsung S3 (Chef) und Samsung Note3 (ich) sein. Ich muss es also nicht für alle Handygrößen anpassen.
 

eps

Expert
Licensed User
Longtime User
Cheers, I guess it's time to roll up the sleeves and get editing the XML manually...!
 

corwin42

Expert
Licensed User
Longtime User
Das besagte Widget ist nur bei meinem Chef und bei mir im Einsatz. Von daher sind die verwendeten Devices begrenzt. In unserem Fall wird das Samsung S3 (Chef) und Samsung Note3 (ich) sein. Ich muss es also nicht für alle Handygrößen anpassen.
Wenn nicht ein "starres" Layout für beide Geräte passt, wirst Du nicht drumrum kommen, das Layout sauber skalierbar zu machen.

Das einzige Beispiel, das glaube ich im Forum existiert ist leider noch etwas komplexer, als es sein müsste, weil es auch noch zeigt, wie man bei einem Widget das Layout ändern kann, und wie man mehrere Instanzen (mit unterschiedlichen Daten) des selben Widgets erzeugt. Du kannst es hier finden.
 

DonManfred

Expert
Licensed User
Longtime User
Danke für den Link; ich werde es mir angucken. Wenn ich es damit hinbekommen sollte, das es auf S3 und Note3 ordentlich aussieht, dann sollte es vermutlich auch auf anderen Geräten ordentlich sein wenn man es richtig Skaliert hat...
 
Top