[Slate] Precise tap on button in ScrollBox is hard to be preformed

I have several Buttons in ScrollBox, all Buttons have Touch Method set to Precise Tap, so I can scroll by finger movement. But it is very hard to Click the button, it requires very accurate and quick touch, otherwise UMG will treat my action as scrolling and clicking will be ignored. How can I fix it? May be it is possible to set some king of threshold for scrolling swipe?

I test on Samsung Galaxy S8 and Google Pixel.

I have also recently noticed this happening, did you ever find a solution?
I’m currently looking at taking the location when pressed and comparing when released, and if they haven’t changed using that as a press.

The Precise tap on phones and tablets especially, seem to be highly inconsistent in a scroll box.

I have created my own button using only BP which is capturing mouse input and process it inside. If difference between start click position and current drag position of cursor is greater then X then I throw mouse input further into scrollbar, otherwise it is marked as captured.

Do you have an example of this at all? I have created my own button and OnPressed, I get the current mouse position:

UWidgetLayoutLibrary::GetMousePositionScaledByDPI(PlayerController, StartPressLoc.X, StartPressLoc.Y);

I then wait for the button released event and then get the location again and do a comparison:

UWidgetLayoutLibrary::GetMousePositionScaledByDPI(PlayerController, EndPressLoc.X, EndPressLoc.Y);

const float DistanceMovedSquared = (StartPressLoc - EndPressLoc).SizeSquared();
const float MaxDist = 1.f;
if (DistanceMovedSquared < MaxDist)
{
    // Button Pressed
}
1 Like

It was a long time ago, sorry. I was using only Blueprints to solve this problem.