German Bild auf Button

peternmb

Well-Known Member
Licensed User
Longtime User
Hallo,

ich möchte auf meine Buttons statt der Caption ein Bild setzen.
Das funktioniert soweit - ich schaffe es allerdings nicht zu verhindern, dass die Bilder "angepasst" werden.
Meine png-Bilder sind 32x32px groß, ich möchte diese unabhängig von der Button-Größe darauf zentrieren.
B4X:
Btn1.Initialize("Btn1")
Bild1.Initialize(File.DirAssets, "such32.png")      
Btn1.SetBackgroundImage(Bild1)
Btn2.Initialize("Btn2")
Bild2.Initialize(File.DirAssets, "sort32.png")  
Btn2.SetBackgroundImage(Bild2)
Btn3.Initialize("Btn3")
Bild3.Initialize(File.DirAssets, "settings32.png") 
Btn3.SetBackgroundImage(Bild3) 
Btn4.Initialize("Btn4")
Bild4.Initialize(File.DirAssets, "help32.png")     
Btn4.SetBackgroundImage(Bild4) 
Btn5.Initialize("Btn5")
Bild5.Initialize(File.DirAssets, "info32.png")
Btn5.SetBackgroundImage(Bild5) 
'   
Activity.AddView(Btn1,.5%x, 100%y-35dip,20%x,35dip)
Activity.AddView(Btn2,20%x, 100%y-35dip,20%x,35dip)
Activity.AddView(Btn3,40%x, 100%y-35dip,20%x,35dip)   
Activity.AddView(Btn4,60%x, 100%y-35dip,20%x,35dip)   
Activity.AddView(Btn5,80%x, 100%y-35dip,20%x,35dip)
 

DonManfred

Expert
Licensed User
Longtime User
IconButton V1.0

Lass den Buttontext weg, dann ist nur das Icon übrig.

B4X:
    Dim bm As BitmapDrawable
    bm.Initialize(LoadBitmap(File.DirAssets,"ic_action_android.png"))
    ib3.Text = ""
    ib3.IconPadding = 0
    ib3.setIcon(False,bm)

iconbutton0039.png
 

peternmb

Well-Known Member
Licensed User
Longtime User
B4X:
    Dim bm As BitmapDrawable
    bm.Initialize(LoadBitmap(File.DirAssets,"ic_action_android.png"))
    ib3.Text = ""
    ib3.IconPadding = 0
    ib3.setIcon(False,bm)

Da stehe ich wohl auf dem Schlauch - als was ist ib3 deklariert?
Bei einem Button kenne ich weder IconPadding noch SetIcon.
 

peternmb

Well-Known Member
Licensed User
Longtime User
Hallo,

vielen Dank - auch mit der Lib funktioniert es leider nicht.
Ich arbeite nicht mit einem Layout aus dem Designer, sondern erstelle die Buttons direkt - das müsste doch auch funktionieren?
Die Fehlermeldung, mit der ich leider nicht allzuviel anfangen kann, erhalte ich bei "Activity.AddView..." (siehe Orginalposting)

PS.: Ich habe mich an deinem Beispiel versucht, das funktioniert problemlos - also werde ich weitersuchen...
 

peternmb

Well-Known Member
Licensed User
Longtime User
B4X:
Btn1.Addtoparent(activity.....

Super, so funktioniert es. Vielen Dank für die Hilfe und die tolle LIB :)
 

arnold steger

Member
Licensed User
Longtime User
Vielleicht passt mein Problem nicht ganz hier her...
Ich verwende einen Button, darüber lege ich ein Image mit einer fixen Größe. Im Designer erstellt.
Funktioniert einwandfrei, nur bei einem Sony Xperia Z3 (Android4.4) ist mein Image nicht zu sehen.
Dort ist auch eine durch den Code generierte ViewList hinter meiner Buttonleiste die auf anderen Handys mit unterschiedlichen Androidversionen wunderbar die Buttonleiste verdeckt.

Weiss jemand woran das liegen kann?
 
Top