2

问题陈述:我希望画布在水平和垂直方向上具有相同的大小。大小应固定并基于垂直方向(类似 A4 的画布)。因此,我需要能够在水平方向上滚动画布。但是用于在 ScrollView 中滚动的触摸事件与用于在画布中绘制的触摸事件之间存在冲突。

我需要什么:我想大多数人都可以解决这个问题:在水平滚动视图中进行手指绘画,然后简单地添加一个允许用户滚动的按钮。对我来说,这有点违反直觉。我想要的是在画布的一侧始终可见一个厚滚动条,就像在这个应用程序中一样:

在此处输入图像描述

接下来,这也应该是用户可以滚动的唯一方式。

我尝试过的:由于滚动视图消耗了所有的触摸事件,我尝试覆盖滚动视图的 onTouch 方法。但这会导致整个滚动视图无法被触摸——包括滚动条

问题:难道不能用 ScrollView 来实现吗?我是否必须创建自己的滚动条小部件并将其与包含画布的视图水平对齐(LinearLayout)?或者有什么方法可以让 ScrollView 只消耗背景上的触摸?

4

1 回答 1

1

onTouch覆盖中,您可以检查坐标并确定触摸是在滚动拇指上还是在视图的其余部分上。

于 2012-11-20T13:39:38.997 回答