快速,可能很简单,问题。我有一个视图,其背景是动画,在此期间,我想禁止用户与视图交互。我的观点是FrameLayout,我正在使用onTouchEvent()捕获触摸事件。我尝试过的解决方案:
1)首先是setOnTouchListener(null),然后是setOnTouchListener(this)。问题是,我的视图只调用onTouchEvent(MotionEvent),而不是onTouch(View,MotionEvent),因此我无法在那里抽取事件。
2)首先是setEnabled(false),然后是setEnabled(true)。源代码说:可点击的禁用视图仍会消耗触摸事件,它只是不响应它们。问题是,MotionEvents仍然在onTouchEvent()中通过。
3)requestDisallowInterceptTouchEvent(false),然后是(true)。这只处理来自父母的触摸事件。
我正在使用的解决方案是使用布尔变量isAnimating,并在onTouchEvent()中检查它的值。我宁愿不这样做,因为它对我来说看起来很难看,我宁愿使用API而不是重新发明轮子,sooo ......任何人都有任何想法?谢谢。
答案 0 :(得分:0)
尝试:
setFocusable()
和setFocusableInTouchMode()
答案 1 :(得分:0)
尝试:
In [50]: np.array(list("1234567890"),dtype=int)
Out[50]: array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])