Questions tagged «ontouchlistener»

8
ScrollView触摸处理中的Horizo​​ntalScrollView
我有一个ScrollView围绕着我的整个布局,因此整个屏幕都是可滚动的。我在此ScrollView中拥有的第一个元素是Horizo​​ntalScrollView块,它具有可以水平滚动的功能。我已经在水平滚动视图中添加了ontouchlistener来处理触摸事件,并强制视图“捕捉”到ACTION_UP事件上最接近的图像。 因此,我想要的效果就像普通的android主屏幕,您可以在其中滚动到另一屏幕,并且在松开手指时可以捕捉到一个屏幕。 除一个问题外,所有其他方法都很好用:我需要几乎完全水平地从左向右滑动才能使ACTION_UP注册。如果我至少在垂直方向上滑动(我认为很多人在左右滑动时倾向于在手机上滑动),那么我会收到ACTION_CANCEL而不是ACTION_UP。我的理论是,这是因为horizo​​ntalscrollview在scrollview中,并且scrollview劫持了垂直触摸以允许垂直滚动。 如何仅从水平滚动视图中禁用滚动视图的触摸事件,但仍允许在滚动视图中的其他位置进行正常的垂直滚动? 这是我的代码示例: public class HomeFeatureLayout extends HorizontalScrollView { private ArrayList<ListItem> items = null; private GestureDetector gestureDetector; View.OnTouchListener gestureListener; private static final int SWIPE_MIN_DISTANCE = 5; private static final int SWIPE_THRESHOLD_VELOCITY = 300; private int activeFeature = 0; public HomeFeatureLayout(Context context, ArrayList<ListItem> items){ super(context); setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); setFadingEdgeLength(0); …

4
Android按钮已调用setOnTouchListener,但未覆盖performClick
当我尝试添加onTouchListner()到按钮时,它让我 按钮已调用setOnTouchListener,但不覆盖performClick 警告。有谁知道如何修理它? btnleftclick.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { return false; } }); 错误: 自定义视图已调用setOnTouchListener,但未覆盖performClick如果覆盖onTouchEvent或使用OnTouchListener的View也未实现performClick并在检测到单击时调用它,则该View可能无法正确处理可访问性操作。理想情况下,应将处理单击动作的逻辑放在View#performClick中,因为某些可访问性服务应在发生单击动作时调用performClick。

5
onTouchListener警告:检测到单击时,onTouch应该调用View#performClick
我创建了一个onTouchListener。不幸的是,onTouch()向throws我发出警告: com/calculator/activitys/Calculator$1#onTouch should call View#performClick when a click is detected 这是什么意思?我尚未找到有关此警告的任何信息。这是完整的代码: LinearLayout llCalculatorContent = (LinearLayout) fragmentView.findViewById(R.id.calculator_content); llCalculatorContent.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { Tools.hideKeyboard(getActivity(), getView()); getView().clearFocus(); return false; } });

4
使用touchListener和clickListener处于突出显示状态的左侧按钮
执行以下操作后,我的按钮保持在突出显示状态时出现问题: public class MainActivity extends AppCompatActivity { @SuppressLint("ClickableViewAccessibility") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); AppCompatButton button = (AppCompatButton) findViewById(R.id.mybutton); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.d("Test", "calling onClick"); } }); button.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.