var main,tgt,lay1,lay2,btn2
export class Main extends App {
onStart() {
main = ui.addLayout( "main", "Linear", "left,Top", 1, 1 )
var opts = "Image,Button,Canvas,Avatar"
var rg1 = ui.addRadioGroup(main,opts,"horizontal")
opts = "Small,Large"
var rg2 = ui.addRadioGroup(main,opts,"horizontal")
btn2 = ui.addButton(main, "Create Image", "small,secondary")
btn2.setOnTouch(function() {
if(typeof tgt != "undefined") tgt.destroy()
var opt = ""
if(rg1.value != null && rg1.value > -1) opt = rg1.list[rg1.value]
if(rg2.value != null && rg2.value > -1) opt += ","+rg2.list[rg2.value]
var str = "ds:/Sys/Img/BlueBack.jpg"
tgt = ui.addImage(main, str, opt)
tgt.setOnLoad(loaded)
lay2.show()
}) // ontouch
lay1 = ui.addLayout(main, "linear", "left,top")
lay2 = ui.addLayout(main, "linear", "left,top,scrolly",1,0.40)
lay2.hide()
bt('alert(tgt.el.innerHTML) ')
bt('tgt.backColor = "blue" ')
bt('tgt.disabled=!tgt.disabled;alert(tgt.disabled); ')
bt('tgt.setOnTouch(touch) ')
bt('tgt.setOnLongTouch(longtouch) ')
bt('tgt.setOnTouchDown(down) ')
bt('tgt.setOnTouchUp(up) ')
bt('tgt.setOnTouchMove(move) ')
bt('tgt.hide() ')
bt('tgt.show() ')
} // onstart
} // class
function bt(str) {
var temp = ui.addText(lay2, str, "keepcase", 1)
temp.setMargins(10, 5, 0, 0, "px")
temp.backColor = "cyan"
temp.setOnTouch(touched)
}
function touched() {
eval(this.text)
this.backColor = (this.backColor == "cyan") ? "red" : "cyan"
}
function loaded() {
ui.showPopup("Loaded")
}
function touch(f) {
ui.showPopup("Touched "+f.type,"long,top,left")
}
function up(f) {
ui.showPopup("Up "+f.type,"long,top,center")
}
function down(f) {
ui.showPopup("Down "+f.type,"long,top,right")
}
function move(f) {
ui.showPopup("Move "+f.type,"long,bottom,left")
}
function longtouch(f) {
ui.showPopup("Long Touch "+f.type,"long,bottom,right")
}
Hybrid image Android 15, DS 2.79, ui 0.33
Image OnTouch only seems to fire when finger is lifted after a long touch or after a moving touch (not after a short unmoving touch)