=====The Button control===== //(Information and examples taken from the DroidScript documentation)// =====Description===== Create buttons using the **CreateButton** method of the **[[built_in:app|app]]** object: btn = app.CreateButton( text, width, height, options ); You can allow the button to auto-size by leaving out the dimensions or you can specify a **width** and **height** as decimal fractions. Setting the width and height to -1 whilst using the **'FillX'** option will allow it to fill the layout width. Use the **SetOnTouch** method of your button object to set the name of a function you want to be called when the button is touched. Various button **styles** can be set by including a style name in the options parameter ---- ===== Methods ===== Some controls use the same methods.\\ For examples of the **[[same methods]]** look here. ^ Method ^ Description ^ | Button.GetAbsHeight() | | | Button.GetAbsWidth() | | | Button.GetHeight() | | | Button.GetPosition() | | | Button.GetText() | Fetches the recent caption (text) of a button. Returns a string. | | Button.GetTextSize( mode ) | | | Button.GetType() | | | Button.GetVisibility() | | | Button.GetWidth() | | | Button.SetFontFile( file ) | | | Button.SetHtml( html ) | | | Button.SetMargins( left,top,right,bottom ) | | | Button.SetOnTouch( callback ) | | | Button.SetPadding( left,top,right,bottom ) | | | Button.SetPosition( left, top, width, height ) | | | Button.SetScale( x,y ) | | | Button.SetSize( width, height ) | | | Button.SetStyle(color1,color2,radius,strokeClr,strokeWidth,shadow) | Used with **Custom** option | | Button.SetText( text ) | Changes the caption (text) displayed in a button to the given string value. Example: Button.SetText("This is a string."); | | Button.SetTextColor( colorcode ) | Sets the text color of a button. Use css-style color code, i.e. "#ffffff" for white. | | Button.SetTextShadow( radius,dx,dy,color ) | | | Button.SetTextSize( size,mode ) | | | Button.SetVisibility( HideShow ) | "Hide" hides the button without affecting the rest of the layout. "Show" displays the button. "Gone" hides the button totally, so that the layout will be rearranged. (See example below.) | ===== Options ===== ^ Options ^ Description ^ | Alum | Display the Button in aluminum style | | FillX | Fill the layout width | | Gray | Display the Button in Gray Color | | NoSound | Play no sound, if the button will be touched | | Custom | [[sample_code:button_styles|Custom Buttons sample]] | | NoPad | Removes default padding of custom buttons | | FontAwesome | Use Font-Awesome icons | | Html | Enable HTML in button-text | ---- ====Example - Default Size==== function OnStart() { lay = app.CreateLayout( "Linear", "VCenter,FillXY" ); btn = app.CreateButton( "Press Me" ); btn.SetOnTouch( SayHello ); lay.AddChild( btn ); app.AddLayout( lay ); } function SayHello() { app.ShowPopup("Hello World!"); } ====Example - Fixed Size==== function OnStart() { lay = app.CreateLayout( "Linear", "VCenter,FillXY" ); btn = app.CreateButton( "Press Me", 0.5, 0.2 ); btn.SetOnTouch( SayHello ); lay.AddChild( btn ); app.AddLayout( lay ); } function SayHello() { app.ShowPopup("Hello World!"); } ====Example - Fill layout width==== function OnStart() { lay = app.CreateLayout( "Linear", "VCenter,FillXY" ); lay.SetPadding( 0.02, 0.02, 0.02, 0.02 ); btn = app.CreateButton( "Press Me", -1, -1, "FillX" ); btn.SetOnTouch( SayHello ); lay.AddChild( btn ); app.AddLayout( lay ); } function SayHello() { app.ShowPopup("Hello World!"); } ====Example - Change Style==== function OnStart() { lay = app.CreateLayout( "Linear", "Vertical,FillXY" ); lay.SetPadding( 0.1, 0.1, 0.1, 0 ); b1 = app.CreateButton( "Normal", -1, -1, "FillX" ); lay.AddChild( b1 ); b2 = app.CreateButton( "Gray", -1, -1, "FillX,Gray" ); lay.AddChild( b2 ); b3 = app.CreateButton( "Alum", -1, -1, "FillX,Alum" ); lay.AddChild( b3 ); app.AddLayout( lay ); }