Back

CreateDialog

Hello World
Content:
- Methods

Custom dialogs appear on top of the app and thus can be used to show temporary information or collect data from the user. They are also useful for displaying configuration or settings controls.

dlg = app.CreateDialog( title, options ) → app object: Dialog

Dialogs are resizeable and you can also change the look of them so that they fit in with the theme of your application.

A custom dialog needs a layout to add the controls to. Use the CreateLayout method of the app object to add a layout.

layDlg = app.CreateLayout( type, options );
dlg.AddLayout( layDlg );

If you have added all your controls to the dialog layout you can use the Show method to show the dialog.

Normally the user can cancel the dialog by pressing the BACK button of the device, but you can disable that option by using the “NoCancel” option. In order to close the dialog now, you have to call Dismiss.

Example - Demo

function OnStart()
{
    dlg = app.CreateDialog( "Custom Dialog" );

    layDlg = app.CreateLayout( "linear", "VCenter,FillXY" );
    layDlg.SetSize( 0.7, 0.3 );
    dlg.AddLayout( layDlg );

    chk = app.CreateCheckBox( "Check Box" );
    chk.SetMargins( 0, 0.02, 0, 0.02 );
    layDlg.AddChild( chk );

    btnDlg = app.CreateButton( "Close Dialog", 0.6, 0.1 );
    btnDlg.SetOnTouch( btnDlg_OnTouch );
    layDlg.AddChild( btnDlg );

    dlg.Show();
}

function btnDlg_OnTouch()
{
    dlg.Dismiss();
}
Copy All       Run      

Methods

The following methods are available on the Dialog object:

Focus()
GetAbsHeight() → number: integer
GetAbsWidth() → number: integer
GetHeight( options ) → number
GetLeft( options ) → number
GetParent() → app object
GetPosition( options ) → object: { left, top, right, bottom }
GetTop( options ) → number
GetType() → string: “Dialog”
GetVisibility() → string: “Show” or “Hide” or “Gone”
GetWidth( options ) → number
Gone()
Hide()
IsEnabled() → boolean
IsOverlap( obj, depth ) → boolean
IsVisible() → boolean
Method( name, types, p1, p2, p3, p4 ) → all types
SetScale( x, y )
Show()
boolean
app object
number
string
unknown
number: factor
number: fraction (0..1)
number: integer
number: milliseconds
number: -180..180
number: -100..100
number: 0..100
number: 0..0.99 or 1..256
string:
  hexadecimal: “#rrggbb”, “#aarrggbb”
  colourName: “red”, “green”, ...
string: comma “,” separated
string: path to file or folder ( “/absolute/...” or “relative/...” )
string: comma “,” separated: “AutoCancel” or “NoCancel”, “NoTitle”, “NoFocus”, “NoDim”, “NoKeys”, “TouchModal”, “NoTouch”
string: “px”
string: “screen”, “px”
string: “left-right” or “right-left” or “top-bottom” or “bottom-top” or “bl-tr” or “br-tl” or “tl-br” or “tr-bl”
string: “repeat”
string: “Add” or “Multiply” or “clear” or “darken” or “lighten” or “overlay” or “screen” or “xor” or “src_in” or “src_out” or “src_atop” or “src_over” or “dst_in” or “dst_out” or “dst_atop” or “dst_over”
string: “px” or “sp” or “dip” or “mm” or “pt”
string: “px” or “sp” or “dip” or “dp” or “mm” or “pt”
string: “Show” or “Hide” or “Gone”
string: “Linear.None” or “Quadratic.In/Out” or “Cubic.In/Out” or “Quartic.In/Out” or “Quintic.In/Out” or “Sinusoidal.In/Out” or “Exponential.In/Out” or “Circular.In/Out” or “Elastic.In/Out” or “Back.In/Out” or “Bounce.In/Out”
object: { source, action, count, x: [ x1, x2, x3 ], y: [ y1, y2, y3 ] }
object: { x, y, w, w, sw, sh, rot }
app object: Layout
list: boolean,char,byte,short,int,long,float,double,String,CharSequence,...
function()
function( event )
dlg.AddLayout
Add the content layout to the dialog.
dlg.AdjustColor
Adjust the visual color effect of the control by setting the Hue (by angle in degrees in a color circle), the saturation, brightness and contrast of the control.
dlg.ClearFocus
Removes the focus of the control so that the user no longer has immediate access to it.
dlg.Dismiss
Hide the control and remove it from the screen.
dlg.EnableBackKey
En/Disables the device back key to hide the dialog.
dlg.Focus
Set the focus to the control so that the user can interact with it immediately.
dlg.GetAbsHeight
Get the absolute height of the control in pixels.
dlg.GetAbsWidth
Get the absolute width of the control in pixels.
dlg.GetHeight
Get the height of the control as screen height relative float or in pixels with the px option.
dlg.GetLeft
Get the distance from the control to the left parent border as width relative float or in pixels with the px option.
dlg.GetParent
Returns the parent control object where the object was added to - commonly a layout.
dlg.GetPosition
Returns data about the position and size of the control.
If the screen option is given the position on the screen will be returned. Otherwise relative to the parent control.
The px options turns the relative values into pixels.
dlg.GetTop
Get the distance from the control to the upper parent border as height relative float or in pixels with the px option.
dlg.GetType
Returns the control class name.
dlg.GetVisibility
Returns the current visibility state of the control. The Values are:
Show: visible
Hide: invisible but still consuming space
Gone: invisible and not consuming space
dlg.GetWidth
Get the width of the control as screen width relative float or in pixels with the px option.
dlg.Gone
Hides the control without consuming any more layout space as if it were never there.
dlg.Hide
Hide the control but keep the layout space free.
dlg.IsEnabled
Returns whether the control is currently useable by the user.
dlg.IsOverlap
Returns whether the control overlaps with another by a given distance.
dlg.IsVisible
Returns whether the control is currently visible to the user, ignoring overlaying controls.
dlg.Method
Allows access to other functions defined on the object in Java via reflection.

Note: This function is a premium feature. Please consider subscribing to Premium to use this feature and support DroidScript in its further development.
dlg.RemoveLayout
Removes a content layout.
dlg.SetBackAlpha
Set the transparency of the background by an alpha value between 0 (no transparency) and 0.99 (full transparent) or 1 (no transparency) and 256 (full transparent)
dlg.SetBackColor
Changes the background color of the control.
dlg.SetBackGradient
Define the background color of the control with a gradient. The default gradient direction is from top to bottom, but you can change it from left to right and the reversed versions of course.
dlg.SetBackGradientRadial
Define a radial color gradient for the background of control.
dlg.SetBackground
Changes the background to an image which can be repeated using the repeat option.
An image which is often used with that option is '/res/drawable/pattern_carbon' - try it out!
dlg.SetColorFilter
Adjust the visual color effect with a color and a given BlendMode. More information about BlendMode can be found in the Android Developer page.
dlg.SetEnabled
En/Disable the control physically and visually so that the user can/can not access the control. Events like OnTouch will still be fired.
dlg.SetMargins
Define a distance to other controls on each side of the control.
dlg.SetOnBack
Define a callback function which is called when the device's back button was pressed while the dialog was on front.
dlg.SetOnCancel
Define a callback function which is called when the dialog is cancelled.
dlg.SetOnTouch
Define a callback function that is called when the user touches the control. In addition, an event object is passed to the callback function to obtain information about the touch type, the touch position(s), the amount of touches and the control that was touched.
dlg.SetPadding
Define distances that elements within the control are to maintain from the control borders.
dlg.SetPosition
Defines the position and size for the control if the parent is an absolute layout.
dlg.SetScale
Scales the control along with its contents by the factors passed to the function.
dlg.SetSize
Change the size of the control in either screen relative values or in pixels if the px option was given.
dlg.SetTitle
Changes the title of the dialog.
dlg.SetVisibility
Change the visibility of the control to one of the available modes:
Show: visible
Hide: invisible but still consuming space
Gone: invisible and not consuming space
dlg.Show
Set the visibility of the control to “Show”.
dlg.Tween
Performs an animation on the control.
The target object is for the position, size and rotation that the control has at the end of the animation.

The type specifies the behavior and the speed of the animation. Separated by a dot, you must also specify whether you want to apply this behavior to the beginning (In), end (Out), or to both (InOut) times of the animation.

With the amount of repeats you can control how many times you want to play the animation.

If you have jojo activated, the animation will alternate between forward and backward playback, so that if the repetition value is odd, the control will be at the start position again at the end of the animation.

Finally the callback function will be called after the animation has finished. Well, it's about time!