User Tools

Site Tools


Sidebar

Privacy Policy

News

Version 2.50 is out since Jan 1st 2022


Frequently Asked Questions


Namespaces

Note for contributors

If you wish to create a new page in the DroidScript wiki, please click on the most appropriate namespace above and follow the notes for contributors there.

Because of spam, it has been necessary to add a CAPTCHA to the registration form and the save option for editing pages. You will not need to prove you are human if you are logged in, so please register.

Please feel free to improve any existing page, as well as adding new pages to increase the sum of public knowledge about DroidScript.

Formatting Syntax

sample_code:img_toggle_button

This is an old revision of the document!


Table of Contents

Image button toggle

This code was written in response to a request for a Toggle Image Button.

The main body of the code is the function

  CreateImageToggle(img1,img2)

The images can be passed either as file-paths or as images The sample code passes one of each.

In case it is not obvious, the actual toggling is done in the OnTouchUp handler.

You could move this to any of the OnTouch events but be aware that some of them (such as SetOnTouch) may fire more often than you expect.

The code

toggle.js
//Called when application is started.
function OnStart(){
    // Create layout
    lay = app.CreateLayout( "linear", "VCenter,FillXY" );    
    
    // Create resized first image for the button
    var pauseImg = app.CreateImage( "/Sys/Img/Droid1.png",0.1,-1);
   
    //Create the button with OnTouchDown event
    btn = CreateImageToggle(pauseImg, "/Sys/Img/Droid2.png" ) ;
    btn.SetOnTouchDown(btnToggle);
    
    lay.AddChild( btn );
    
    //Add layout to app.    
    app.AddLayout( lay );
}
 
function btnToggle(ev){
   this.Toggle = ! this.Toggle;
   if(this.Toggle){
      this.SetImage(this.imgTrue);
      app.ShowPopup("Playing");
   } else{
      this.SetImage(this.imgFalse);
      app.ShowPopup("Paused");
   }
}
 
function CreateImageToggle(img1,img2){
  // accepts images or file-paths
  //img1 represents false, img1 true(toggled)
  if (typeof img1 == "string") {
     img1 = app.CreateImage(img1);
  }
  if (typeof img2 == "undefined"){
    img2 = img1;
  } else if (typeof img2 == "string") {
    img2 = app.CreateImage(img2,img1.GetWidth(),img1.GetHeight());
  }
  var obj = app.CreateImage(null,img1.GetWidth(),img1.GetHeight());
  obj.SetImage(img1)
  obj.Toggle = false;
  obj.imgFalse = img1
  obj.imgTrue = img2
  return obj
}

Note

This code has had only rudimentary testing. You may well be able to improve it

sample_code/img_toggle_button.1416994917.txt.gz · Last modified: 2014/11/26 17:41 (external edit)