kamillan
kamillan

Reputation: 115

Android: Fingerpaint with a constantly visible scrollbar

Problem statement: I would like the canvas to have the same size in both horizontal and vertical orientation. The size should be fixed and based on the vertical orientation (an A4-like canvas). Hence, I need the ability to scroll over the canvas in the horizontal orientation. But there is a conflict between the touch event used for scrolling in a ScrollView and the one used for drawing in the canvas.

What I need: I guess most could settle with this solution: fingerpaint within a horizontalscrollview and simply adding a button for allowing the user to scroll. For me this is a little counter-intuitive. What I would like is to have a thick scrollbar constantly visible on the side of the canvas, like in this app:

enter image description here

Following, this should also be the only way that the user can scroll.

What I have tried: Since the scrollview consumes all the touch events, I have tried overriding the scrollview's onTouch method. But this leads to the whole scrollview being unable to be touched - that includes the scrollbar.

Questions: Is it not possible to implement this with a ScrollView? Do I have to create my own scrollbar widget and align it horizontally (LinearLayout) with the view that contains the canvas? Or is there some way to have the ScrollView only consume touches on the background?

Upvotes: 2

Views: 214

Answers (1)

Ron
Ron

Reputation: 24235

In onTouch override, you can check the coordinates and decide whether the touch was on the scroll thumb or on rest of the view.

Upvotes: 1

Related Questions