Sub CreateBitmapButton(cmd As Button, bmp As Bitmap, act As Activity, Padding As Int )
Dim C As Canvas
Dim r1 As Rect
Dim r2 As Rect
Dim sld As StateListDrawable
'Create a temporary button and draw on it
Dim tmpbutton As Button
tmpbutton.Initialize("")
act.AddView(tmpbutton,0,0,cmd.Width,cmd.Height)
SetPressed(cmd, True)
DoEvents
C.Initialize(tmpbutton)
r1.Initialize(0,0,cmd.Width,cmd.Height)
r2.Initialize(Padding,Padding,cmd.Width-Padding,cmd.height-Padding)
sld.Initialize
C.DrawDrawable(cmd.Background,r1)
C.DrawBitmap(bmp,Null,r2)
tmpbutton.Invalidate
sld.AddState(sld.State_Pressed,tmpbutton.Background)
tmpbutton.RemoveView
'Force to pressed state
SetPressed(cmd, False)
DoEvents
tmpbutton.Initialize("")
act.AddView(tmpbutton,0,0,cmd.Width,cmd.Height)
C.Initialize(tmpbutton)
C.DrawDrawable(cmd.Background ,r1)
C.DrawBitmap(bmp,Null,r2)
tmpbutton.Invalidate
sld.AddState(sld.State_Enabled,tmpbutton.Background)
tmpbutton.RemoveView
SetPressed(cmd, False)
cmd.Background = sld
End Sub