[Free] ScrollArrangementHandlers - by ColinTree

extension

#42

Has anyone, using this nice ScrollArrangementHandler experienced strange behavior of Textbox-Components, which are bedded in the arrangements?

Somehow SrollLeftEnd component of the scroll handler, changes the focus to another textbox.
This happens, when I have a HorizontalScrollArrangement with three VerticalScrollArrangements in it. All of the VSA have the same width like the Screen (you guess right, I use this as an alternative to screen-switching)

All of these VSA have multiple textboxes and I do not want to let the ScrollArrangementHandler change the focus to another random textbox, everytime I do {EDIT:} ScrollLeftEnd.

I know it sounds strange, and I would appreciate if someone has a guess.

keep thunking,
User81

EDIT: Sorry for not being precise at first: SmoothScrollToX has not the problem, it is ScrollLeftEnd, ScrollRightEndComponent and ScrollToX-> so I will use SmoothScrollToX instead, because it does not disturb textbox focuses


#43

I think this maybe caused by some native android method that called during refreshing the scrolling position. It is possible if some visible-based focus changes is triggered. But I dont know why it is random.


#44

Maybe it is not random, but I could not figure out, what the logic was :smile:


#45

So does this helps?


#46

I’m fine with using only the SmoothScrollToX Method, for cases in which textboxes are contained in the Arrangements. This way, no focuses are disturbed and the behavior of automated scrolls of the ScrollArrangementHandler is not failing.

By the way, I made a nice scroll to refresh with only your scrollHandler extension (and a couple of clock, label and arrangement components), so I really enjoy what you have built and shared with us!!!


#47

hey @app_mai_roid, sorry for the very late but it was a horrible period for me

here you areTabs.aia (27.5 KB)


#48

am very sorry to hear that, i hope everything is going well right now
and thanks alot for the aia it’s pretty good


#49

it’s ok, if you have questions let me know


#50

Boa tarde a todos, quebrei a cabeça tentando desvendar essa extensão e consegui, meu projeto esta ficando bem legal.
Parabéns @ColinTree por essa excelente extensão.
Continue com o seu bom trabalho.


#51

Its it possible track when user untouched screen.I try touchup and down its not work.I want do some operation when user stop touching


#52

Hi @ColinTree,

Thanks for this great extension. I need this in my app, but I am new to it. I want to reset the position of scrollbar in vertical scroll to top when user clicks on next button. I don’t know how to use it. Can you please guide me?
Is there any video or link for basic guidance of this extension.

Thanks in advance.
Deepak


#53

hi @ColinTree

This extension is really cool.
But, can you fix this error

.
Because sometimes there are users who try to touch everything.


#54

I have same error can you fix it colin?

Samsung Galaxy J1 Mini Prime (j1minive3g), Android 6.0
Report 1 / 1
java.lang.IllegalArgumentException:

at android.view.MotionEvent.nativeGetAxisValue (Native Method)

at android.view.MotionEvent.getX (MotionEvent.java:2298)

at cn.colintree.aix.ScrollArrangementHandlers.HorizontalScrollHandler$2.onMove (HorizontalScrollHandler.java:123)

at cn.colintree.aix.ScrollArrangementHandlers.HorizontalScrollHandler$2.onTouch (HorizontalScrollHandler.java:105)

at android.view.View.dispatchTouchEvent (View.java:10012)

at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2833)

at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2504)

at android.widget.HorizontalScrollView.dispatchTouchEvent (HorizontalScrollView.java:623)

at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2844)

at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2519)

at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2844)

at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2519)

at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2844)

at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2519)

at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2844)

at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2519)

at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2844)

at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2519)

at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2844)

at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2519)

at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2844)

at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2519)

at com.google.appinventor.components.runtime.ScaledFrameLayout.dispatchTouchEvent (ScaledFrameLayout.java:84)

at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2844)

at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2519)

at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2844)

at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2519)

at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2844)

at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2519)

at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent (PhoneWindow.java:2869)

at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1861)

at android.app.Activity.dispatchTouchEvent (Activity.java:3061)

at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent (PhoneWindow.java:2830)

at android.view.View.dispatchPointerEvent (View.java:10253)

at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:5529)

at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:5365)

at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4810)

at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4863)

at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4829)

at android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:4970)

at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4837)

at android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:5027)

at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4810)

at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4863)

at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4829)

at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4837)

at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4810)

at android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:7531)

at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:7399)

at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:7360)

at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:7641)

at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:185)

at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents (Native Method)

at android.view.InputEventReceiver.consumeBatchedInputEvents (InputEventReceiver.java:176)

at android.view.ViewRootImpl.doConsumeBatchedInput (ViewRootImpl.java:7605)

at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run (ViewRootImpl.java:7668)

at android.view.Choreographer$CallbackRecord.run (Choreographer.java:911)

at android.view.Choreographer.doCallbacks (Choreographer.java:686)

at android.view.Choreographer.doFrame (Choreographer.java:616)

at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:897)

at android.os.Handler.handleCallback (Handler.java:739)

at android.os.Handler.dispatchMessage (Handler.java:95)

at android.os.Looper.loop (Looper.java:148)

at android.app.ActivityThread.main (ActivityThread.java:7406)

at java.lang.reflect.Method.invoke (Native Method)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)

at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)


#55

It would really help if you provided a screenshot of your relevant blocks, so we can see what you are trying to do, and where the problem may be.

Taifun


#56

Just check @aldi_robot video.

:point_up_2:


#57

The video or gif doesn’t show any blocks. He is asking for the blocks because maybe though it might appear to be scrolling normal, you included something in the blocks or some other extension(s) that is not compatible with this extension and that is why the crashes are been experienced


#58

There is no problem with block side.

If you watch video carefully you can see there is 2 finger.You can download my app and test if from here

https://play.google.com/store/apps/details?id=appinventor.ai_pmesystem.Bilgiler

Do same thinks like video

Just open app and try open sidebar.when sidebar opened just click right side of the screen with 2. Finger


#59

@aldi_robot @Ali_Aydin
Hello guys, sorry for the bugs :sweat_smile:
I just wondering what happened here, are you using two fingers when the app crashes? I can’t really see what is the cause in the video and the crash log


#60

Just install my app. Open sidebar with gesture. Now when your 1.finger on the screen.Touch screen with 2. Finger.

Crashed

h ttps://drive.google.com/file/d/1OO01iL-ZdnmlcTPio8hghgDL4WG7DzQW/view?usp=drivesdk


#61

Bug comfirmed. Will look into it. Thanks for reporting.