Scrollviews

  • Antworten:33
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 745

03.11.2013 12:07:41 via Website

Carsten Müller
Chris H.
-weißt du wie ich ein label mit nicht definierbarem text(heißt text kann z.b "hi" aber auch "hallo" sein...) immer in die mitte+unten hinkriege?
Mit Setlayout und Prozentwert statt absoluten Positionen.

Herzliche Grüße

Carsten
Hi carsten
So habe ichs auch...nur mein problem ist, dass ich die größe des labels nicht genau festlegen kann.
Wenn ich nämlich 50%x - label.widht mache, dann ist es nie ganz mittig.
Weißt du wie ich das machen kann?
Mfg

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

  • Forum-Beiträge: 33.139

03.11.2013 12:08:50 via App

Nein mal ein Beispiel.

Ich kann Dir gerade nicht folgen...

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

  • Forum-Beiträge: 745

03.11.2013 12:17:51 via Website

Ok da das label durch seinen textinhalt eine unterschiedliche länge hat bekomme ich es nie in die exakte mitte...ich hab dir mal ein codebeispiel gegeben. 50%x - label.widht....so funktioniert es nicht. Wenn du immer noch nicht verstanden hast dann kannst du es testen, dann siehst du das problem...y ist hier sowie bei dem test egal...
Mfg

— geändert am 03.11.2013 12:18:35

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

  • Forum-Beiträge: 33.139

03.11.2013 12:25:24 via App

Chris H.
Ok da das label durch seinen textinhalt eine unterschiedliche länge hat bekomme ich es nie in die exakte mitte...ich hab dir mal ein codebeispiel gegeben. 50%x - label.widht....so funktioniert es nicht. Wenn du immer noch nicht verstanden hast dann kannst du es testen, dann siehst du das problem...y ist hier sowie bei dem test egal...
Mfg
Ich verstehe nur Bahnhof. Was für ein Code Beispiel?

Was willst Du genau? Wo soll das Label plaziert sein? Wie groß ist das Label?

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

  • Forum-Beiträge: 745

03.11.2013 12:33:56 via Website

Carsten Müller
Chris H.
Ok da das label durch seinen textinhalt eine unterschiedliche länge hat bekomme ich es nie in die exakte mitte...ich hab dir mal ein codebeispiel gegeben. 50%x - label.widht....so funktioniert es nicht. Wenn du immer noch nicht verstanden hast dann kannst du es testen, dann siehst du das problem...y ist hier sowie bei dem test egal...
Mfg
Ich verstehe nur Bahnhof. Was für ein Code Beispiel?
50%x -label.widht
Was willst Du genau? Wo soll das Label plaziert sein? Wie groß ist das Label?
Ich will dass das label in der mitte ist.das problem ist das alle bildschirme unterschiedliche größen haben(sonst könnte ichs ausrechnen) UND das das label den usernamen enthält, der wählbar ist.heißt das label kann den text haben: bär oder auch killer oder halt andere usernamen...verstanden?
Herzliche Grüße

Chrissi ;)

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

  • Forum-Beiträge: 33.139

03.11.2013 12:53:50 via Website

Hi,

horizontal zentriert? Vertikal zentriert? Beides?

Nun lass Dir doch nicht alles aus der Nase ziehen....

Für den Fall, dass es vertikal und horizontal zentriert sein soll:

1mylabel.SetLayout(0,100%y/2-25dip, 100%x, 50dip)

In diesem Falle wird das label auf 50dip Höhe definiert. 100%x ist die volle Bildschirmbreite. Die Ausrichtung des Texts im Label einfach auf CENTER_HORIZONTAL gesetzt (Designer / Text Style). Die vertikale Anordnung des Labels ist dann 100%y (Höhe des Layouts) / 2 - 25dip (25 dip = Hälfte der Höhe des Labels).

Höhere Mathematik ist was anderes.... :grin:

Herzliche Grüße

Carsten

— geändert am 03.11.2013 12:56:26

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

  • Forum-Beiträge: 745

03.11.2013 13:00:04 via Website

Ähhh...
Ok... ich möchte den text unten in der mitte haben...was bringt bei label dann die gravity? Ich weiß da wird festgelegt wo der text hängt aber ich versteh nicht was der im code bringt mfg
edit: AH! schlau! ok habs danke

— geändert am 03.11.2013 13:02:56

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

  • Forum-Beiträge: 33.139

03.11.2013 13:04:32 via Website

Chris H.
Ähhh...
Ok... ich möchte den text unten in der mitte haben...was bringt bei label dann die gravity? Ich weiß da wird festgelegt wo der text hängt aber ich versteh nicht was der im code bringt mfg
Naja, um die Ausrichtung halt per Code zu ändern:

1mylabel.Gravity = Gravity.CENTER_HORIZONTAL

Okay, also "unten" in der "Mitte". Also am unteren Bildschirmrand und horizontal zentriert?

Horizontal zentriert machst Du über CENTER_HORIZONTAL (über Designer oder über den obigen Code).

Und das Layout für das Label setzt Du:

1mylabel.SetLayout(0,100%y-50dip, 100%x, 50dip)

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

  • Forum-Beiträge: 745

03.11.2013 13:05:54 via Website

was anderes war der durchbruch
was sagst du zu dem code?
1Activity.AddView(label, 40%x,100%y - 40dip , 100%x , 40dip)
edit:ok da ist was falsch.moment

— geändert am 03.11.2013 13:08:20

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

  • Forum-Beiträge: 33.139

03.11.2013 13:08:51 via Website

Chris H.
was anderes war der durchbruch
was sagst du zu dem code?
1Activity.AddView(label, 40%x,100%y - 40dip , 100%x , 40dip)
Dann steht der Text zu weit rechts, da Du ja das Label nicht linksbündig zum Bildschirmrand setzt, sondern um 40 % nach rechts versetzt, das Label dann allerdings so breit machst wie der ganze Bildschirm breit ist (100%x).
Das macht keinen Sinn so... Dann liegt ein Teil (40%) des Texts außerhalb des Bildschirms.

Was war jetzt an meinem Code verkehrt?

Herzliche Grüße

Carsten

— geändert am 03.11.2013 13:09:20

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

  • Forum-Beiträge: 745

03.11.2013 13:11:49 via Website

:) ich habs grad bemerkt...
an deinem code war nichts verkehrt...ich versuche nur sicher(in der bedeutung von lernen) zu werden...
ich behebe mal kurz das problem
edit: problem behoben
ich habs jetzt so und es ist genau wie ichs wollte:
1Activity.AddView(label, 0,100%y - 40dip , 100%x , 40dip)
danke carsten

— geändert am 03.11.2013 13:13:28

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

  • Forum-Beiträge: 745

03.11.2013 13:15:37 via Website

Also mit gravity erreicht man häufig das was man will. (was die richtung angeht)
wer mir bei dem fazit nicht zustimmt der soll kommentieren
Mfg

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

  • Forum-Beiträge: 33.139

03.11.2013 13:18:03 via App

Chris H.

ich habs jetzt so und es ist genau wie ichs wollte:
1Activity.AddView(label, 0,100%y - 40dip , 100%x , 40dip)
danke carsten
Das ist exakt das, was ich schrieb.

Außer dass Du das Layout beim Hinzufügen des Labels per Code definierst und ich es über Setlayout definiere, nachdem das label schon existiert (weil zum Beispiel im Designer erzeugt).

Herzliche Grüße

Carsten

— geändert am 03.11.2013 13:18:15

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

  • Forum-Beiträge: 33.139

03.11.2013 13:20:15 via Website

Chris H.
Also mit gravity erreicht man häufig das was man will. (was die richtung angeht)
... und das bezieht sich auf den Inhalt des Objektes.

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe