ScrollViewer vs. Enclosed, how to control who gets the MotionEvents?

I have a somewhat complicated design that has just slammed face first into reality.

I have an ImageView which shows a photo or other bitmap. I have a SketchCanvas which overlaps it, and the user can draw on it. The save functionality combines the bitmap in the ImageView and the Android.Graphics.Path 's that are created, so the user can basically annotate their images, circling the parts they care about and such.

This works great, but sometimes the image is too big for the screen. So I put it inside of a ScrollView. But doing this has caused a problem that was obvious in retrospect, but somehow made it through design.

The problem is, when the user drags their finger across the screen, what happens? Does it draw a line on the image, or does it pan the ScrollView? I have to pick one or the other.

So now I've added a button which is supposed to change whether you are in pan mode (where your finger controls the scrollviewer), and draw mode (where your finger draws lines on the image). My question is, how do I implement this in Android? That is, what is the hook that I should use to control whether the ScrollView or its children are handling the MotionEvent's that the user is creating?

Best Answer


  • wlangendorfEMwlangendorfEM Member ✭✭

    I have tried setting the scrollView's "InputTransparent" property to "True", but it doesn't seem to do anything. Very odd, I can't stop this scrollView from scrolling when I swipe it. I even tried setting its enabled property to false!

Sign In or Register to comment.