ScreenTouchEffects - Touch screen, returns the x, y position and touch effect.

ScreenTouchEffects
Touch screen, returns the x, y position and touch effect.

GIF_20251015_051127_904
GIF_20251015_051219_036
GIF_20251015_051319_807
GIF_20251015_050935_465


EnableTouch

Starts listening for screen touches and creates effects.


DisableTouch

Disables the touch overlay.


StartInfinite

Starts infinite effect at specified coordinates with specified unit.

Unit:

  • dp
  • px

StopInfinite

Stops the infinite effect.


ShowEffectAt

Creates a single effect at the specified coordinates with specified unit.

Unit:

  • dp
  • px

InfiniteInterval

Sets the interval between effects in infinite mode (milliseconds).


Color

Sets the effect color.


Size

Sets the size of the effect.


Duration

Sets the duration of the effect animation in milliseconds.


EffectType

Sets the current effect type. Options: ripple, particles, rings.


Touched

Triggered when the screen is touched. Returns coordinates in both pixels (px) and density-independent pixels (dp).

component_event (9)


v1.1 Oct 16, 2025.

Update:

  • I added the unit parameter to the ShowEffectAt and StartInfinite functions, which accepts "dp" or "px".

    • You can now enter values ​​in pixels or density.
  • The Touched event will return both pixel and density values: pxX, pxY, dpX and dpY.


ScreenTouchEffects.aia (115.1 KB)

joejsanz.joedevscreentoucheffects.aix (15.5 KB)


JDK: 11
Minimum API Level: 21
Updated On: 2025-10-16T07:00:00Z

Built using: FAST-CLI v5.2.1-premium


Thanks.

4 Likes

x,y returned/accepted in dpi not screen pixels ?

e.g. for effect in centre of screen, and to return pixel coords

1 Like

Yes, the values ​​entered and received were only in px.

I've updated the extension so that you can enter the value you choose between dp and px, and the event will return both values.


Update: v1.1

3 Likes

Hmmm, dp and px appear to be around the wrong way :upside_down_face: , with dp returning pixels and px returning dpi ?

That's true :grimacing: they're inverted.

I'll fix that as soon as I have time.