我有canvas.DrawText.
我想用手势动态更改文字颜色和字体。使用弹出视图类,这一切都很好用。但是我希望使用Fling scroll更直接。
有数百万种颜色,并且通过在屏幕上滑动手指我认为我可以增加/减少colorInteger并在绘制之前将其发送到paint.setColor(colorInteger );
。我整天都在尝试各种方法。
我有public boolean onTouchEvent(MotionEvent event) {
我知道我必须抓住MotionEvent.ACTION_DOWN
想要使用屏幕左边缘进行换色,右边使用屏幕进行字体更改。我有21个ttf字体。
问题是,我看到有OnGestureListener onscroll
实施,但这会禁用我的onTouchEvent
吗?我在那里有很多运动。
public boolean onTouchEvent(MotionEvent event) {
有什么想法吗?
答案 0 :(得分:1)
您可以使用GestureDetector
。在那里实现GestureDetector.OnGestureListener
并捕捉手势。
class MyActivity extends Activity implements GestureDetector.OnGestureListener {
// ....
gestureDetector = new GestureDetector(getContext(), this);
为GestureDetector提供如下触摸事件:
@Override
public boolean onTouchEvent(MotionEvent event) {
if (gestureDetector.onTouchEvent(event))
return true;
else return super.onTouchEvent(event);
}
在GestureDetector.OnGestureListener
的{{1}}中,如果要处理此动作,则必须返回onDown
。例如。然后用户将他的手指放在指定区域中,返回true
,否则true
。如果此处返回false
,则无法检测到以此事件开始的复杂序列(如fling或scroll)。