German Button-Style

combus

Member
Licensed User
Longtime User
Hallo zusammen,

ich erstelle meine Maskenelemente direkt im Programm.
Leider werden die Button aber nur als rechteckige Rahmen
dargestellt. Sofern ich die Button über den Designer erstelle,
werden die Button 2-dimensional dargestellt.

Die Farben und der Schriftfont werden in beiden Varianten
korrekt dargestellt. Nur die Darstellung des Button gefällt mir nicht.

' Codebeispiel

Dim btn as Button

btn.Initialize ("btnEvent")
btn.Typeface = Typeface.DEFAULT_BOLD
btn.Color = Colors.LightGray
btn.TextSize = 20
btn.Gravity = Gravity.CENTER_HORIZONTAL + Gravity.CENTER_VERTICAL
btn.Text = "Test"

Activity.AddView (btn,10,10,100,40)


Es bleibt bei einem grauen Rechteck ohne 2D-Darstellung

Vielen Dank für Eure Hilfe

Hans
 

pjo12345

Active Member
Licensed User
Longtime User
Also bei mir funktioniert dein Code. Aber bei einer Höhe von 40 deines Butttons und einer Schriftgröße von 20 wirst du nicht viel sehen. Genau nur den oberen Querstrich vom T in Test. Ändere mal die Schriftgröße auf 8 dann siehst du den ganzen Text in deinem Button.

mfg pjo12345
 

combus

Member
Licensed User
Longtime User
Hallo,

vielen Dank.

Es geht eigentlich nicht um die Textgröße, sondern vielmehr darum,
dass der Button nicht als echter Button dargestellt wird.

Meine Buttonhöhe war auch 80 und nicht 40 wie im Beispielscode.
War ein Fehler beim Übernehmen.

Der Button wird bei Dir doch nicht wirklich als richtiger Button (2D)
dargestellt, oder ? (Abgerundete Ecken, Click-Darstellung beim Drücken etc)

Gruß

Hans
 

specci48

Well-Known Member
Licensed User
Longtime User
Hi combus,

runde Ecken git es mit ColorDrawable, z.B.
B4X:
Dim cd As ColorDrawable
cd.Initialize(Colors.Green, 5dip)
Button1.Background = cd

Für die Änderung beim Drücken, etc. schau dir mal das StateListDrawable an.
Dazu gibt es auch ein Beispiel von Erel: statelistdrawable-example


Gruß
specci48
 

pjo12345

Active Member
Licensed User
Longtime User
Wenn ich die Zeile

'btn.Color = Colors.LightGray

auskommentiere, dann funktioniert alles. Mit dieser Zeile ist es so wie du es sagst.
 
Top