[Proposal] TouchEffect
See original GitHub issueTouchEffect
- Proposed
- Prototype
- Implementation
- iOS Support
- Android Support
- macOS Support
- Windows Support
- Unit Tests: Not Started
- Sample: Not Started
- Documentation: Not Started
Summary
Adds additional touch events to any VisualElement
Detailed Design
TouchEffect.shared.cs
public class TouchEffect : RoutingEffect
{
public event EventHandler<TouchStatusChangedEventArgs> StatusChanged;
public event EventHandler<TouchStateChangedEventArgs> StateChanged;
public event EventHandler<TouchInteractionStatusChangedEventArgs> InteractionStatusChanged;
public event EventHandler<HoverStatusChangedEventArgs> HoverStatusChanged;
public event EventHandler<HoverStateChangedEventArgs> HoverStateChanged;
public event EventHandler<TouchCompletedEventArgs> Completed;
public event EventHandler<LongPressCompletedEventArgs> LongPressCompleted;
public static readonly BindableProperty IsAvailableProperty;
public static readonly BindableProperty ShouldMakeChildrenInputTransparentProperty;
public static readonly BindableProperty CommandProperty;
public static readonly BindableProperty LongPressCommandProperty;
public static readonly BindableProperty CommandParameterProperty;
public static readonly BindableProperty LongPressCommandParameterProperty;
public static readonly BindableProperty LongPressDurationProperty;
public static readonly BindableProperty StatusProperty;
public static readonly BindableProperty StateProperty;
public static readonly BindableProperty InteractionStatusProperty;
public static readonly BindableProperty HoverStatusProperty;
public static readonly BindableProperty HoverStateProperty;
public static readonly BindableProperty NormalBackgroundColorProperty;
public static readonly BindableProperty HoveredBackgroundColorProperty;
public static readonly BindableProperty PressedBackgroundColorProperty;
public static readonly BindableProperty NormalOpacityProperty;
public static readonly BindableProperty HoveredOpacityProperty;
public static readonly BindableProperty PressedOpacityProperty;
public static readonly BindableProperty NormalScaleProperty;
public static readonly BindableProperty HoveredScaleProperty;
public static readonly BindableProperty PressedScaleProperty;
public static readonly BindableProperty NormalTranslationXProperty;
public static readonly BindableProperty HoveredTranslationXProperty;
public static readonly BindableProperty PressedTranslationXProperty;
public static readonly BindableProperty NormalTranslationYProperty;
public static readonly BindableProperty HoveredTranslationYProperty;
public static readonly BindableProperty PressedTranslationYProperty;
public static readonly BindableProperty NormalRotationProperty;
public static readonly BindableProperty HoveredRotationProperty;
public static readonly BindableProperty PressedRotationProperty;
public static readonly BindableProperty NormalRotationXProperty;
public static readonly BindableProperty HoveredRotationXProperty;
public static readonly BindableProperty PressedRotationXProperty;
public static readonly BindableProperty NormalRotationYProperty;
public static readonly BindableProperty HoveredRotationYProperty;
public static readonly BindableProperty PressedRotationYProperty;
public static readonly BindableProperty AnimationDurationProperty;
public static readonly BindableProperty AnimationEasingProperty;
public static readonly BindableProperty PressedAnimationDurationProperty;
public static readonly BindableProperty PressedAnimationEasingProperty;
public static readonly BindableProperty NormalAnimationDurationProperty;
public static readonly BindableProperty NormalAnimationEasingProperty;
public static readonly BindableProperty HoveredAnimationEasingProperty;
public static readonly BindableProperty PulseCountProperty;
public static readonly BindableProperty IsToggledProperty;
public static readonly BindableProperty DisallowTouchThresholdProperty;
public static readonly BindableProperty NativeAnimationProperty;
public static readonly BindableProperty NativeAnimationColorProperty;
public static readonly BindableProperty NativeAnimationRadiusProperty;
public static readonly BindableProperty NativeAnimationShadowRadiusProperty;
public static readonly BindableProperty NormalBackgroundImageSourceProperty;
public static readonly BindableProperty HoveredBackgroundImageSourceProperty;
public static readonly BindableProperty PressedBackgroundImageSourceProperty;
public static readonly BindableProperty BackgroundImageAspectProperty;
public static readonly BindableProperty NormalBackgroundImageAspectProperty;
public static readonly BindableProperty HoveredBackgroundImageAspectProperty;
public static readonly BindableProperty PressedBackgroundImageAspectProperty;
public static readonly BindableProperty ShouldSetImageOnAnimationEndProperty;
}
Usage Syntax
<Button TouchEffect.PressedScale="3">
</Button>
C# Usage
var button = new Button();
TouchEffect.SetPressedScale(button, 3);
Issue Analytics
- State:
- Created 2 years ago
- Reactions:58
- Comments:47 (18 by maintainers)
Top Results From Across the Web
How to use Maui TouchEffect? - Microsoft Q&A
There is a proposal to include this in the MAUI Community Toolkit. Do you want to add long click event just for Gird...
Read more >AndreiMisiukevich/TouchEffect
This plugin provides opportunity to create views with touch effects without using TapGestureRecognizer. It makes it possible to change the appearance of any ......
Read more >MAUI Touch Event - Microsoft Q&A
Forms Effects to add the effect into MAUI. In addition, there is a proposal to include this in the MAUI Community Toolkit- Proposal...
Read more >Send a Digital Touch effect in Messages on iPhone
In Messages on iPhone, use Digital Touch to send animated sketches, taps, kisses, heartbeats, and more.
Read more >Send a Digital Touch effect in Messages on iPad
In Messages on iPad, use Digital Touch to send animated sketches, taps, kisses, heartbeats, and more.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Hey people, don’t have a Date for you right now, but I’ll jump on this one right after I finish the status bar implementation (should have a PR during this week). If the port goes well we can have this soonsh
@KSemenenko this is in WIP mode, I’m working this. Thanks