Articles of ontouchlistener

在刷卡时结束活动吧?

当用户在屏幕的任何位置提供正确的滑动时,我必须完成Activity 。 我已经尝试过使用GestureDetector ,如果活动中既没有ScrollView也没有RescyclerView ,并且RescyclerView也不允许检测滑动它们,那么它可以正常工作。 所以我尝试了一种不同的方式,通过以编程方式将视图叠加到所有它们的顶部的布局中,然后尝试检测它上面的滑动事件。 private void swipeOverToExit(ViewGroup rootView) { OverlayLayout child = new OverlayLayout(this); ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); child.setLayoutParams(layoutParams); rootView.addView(child); } OverlayLayout public class OverlayLayout extends RelativeLayout { private float x1, x2; private final int MIN_DISTANCE = 150; public OverlayLayout(Context context) { super(context); } public OverlayLayout(Context context, AttributeSet attrs) { super(context, […]

canvas中的图像与触摸事件

看起来很简单,但我在实施方面遇到了问题。 我想要一个包含onTouch事件的屏幕上带有图像的canvas。 我尝试过ImageView但我无法使用canvas。 我已经尝试过SurfaceView并且能够在屏幕上显示canvas,但是运动onTouch事件(缩放,平移)时出现问题。 我需要canvas,因为我将在我的代码中渲染图像。 有人可以告诉我这样做的正确方法吗?

如何为ImageButton组合OnClickListener和OnTouchListener

当用户点击ImageButton时,我需要做一些事情我试图创建一个实现OnClickListener和OnTouchListener的静态类 static class ClickListenerForScrolling implements OnClickListener, OnTouchListener 有以下方法: @Override public void onClick(View v) 和 @Override public boolean onTouch(View arg0, MotionEvent arg1) 这背后的整个想法是在用户触摸时更改ImageButton的图像源,并在用户单击此按钮时执行任务。 任何人都可以给我一个如何做到这一点的提示吗?

播放按钮的默认android声音,单击onTouch()方法

在我的Android应用程序中我有一些按钮,应该使用onTouch()方法,当然我需要更改按钮的文本,当手指在ACTION_DOWN位置。 但是这个按钮应该播放按钮点击的默认 android声音(就像onClick()方法)。 哪里可以find这样的声音? 我想,它必须在SDK中,但我怎样才能find它? 哪种方法更适合这种操作? 我正在使用MediaPlayer。 清单: public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: addTextShadow(v); Log.v(LOG_TAG, “ACTION_DOWN”); break; case MotionEvent.ACTION_MOVE: clearTextShadow(v); isMoved = true; Log.v(LOG_TAG, “ACTION_MOVE”); break; case MotionEvent.ACTION_UP: Log.v(LOG_TAG, “ACTION_UP”); if (!isMoved) { clearTextShadow(v); if (v.getId() == R.id.btn_new) { Log.v(LOG_TAG, “New pressed”); playSound(); //MY […]

处理拦截触摸事件而不扩展ViewGroup

我有一个RelativeLayout ,这个布局有近10个视图。 我已将OnTouchListener设置为此布局并在其中执行一些工作并返回true 。 当我触摸没有View的布局(空区域的意思)时,这个监听器工作正常。 如果我触摸此布局的子视图,则此侦听器不会触发… 从文档中,我了解到我们可以通过扩展ViewGroup(所以这里是RelativeLayout)覆盖onInterceptTouchEvent() )并在子视图消耗此事件之前处理触摸事件… 这将做一个技巧,但我需要通过将RelativeLayout替换为CustomRelativeLayout来修改我需要此function的许多xml文件。 所以我的问题是: 有没有办法在RelativeLayout子视图消耗事件之前处理RelativeLayout (ofcourse ViewGroup)的触摸事件? 我不想扩展RelativeLayout ……

OnTouchEvent不能处理子视图

我有一个线性布局,上面有一个Button和一个TextView。 我为活动写了一个OnTouchEvent。 如果我触摸屏幕,代码工作正常,但如果我触摸按钮代码不起作用。 这有什么可能的解决方案? public boolean onTouchEvent(MotionEvent event) { int eventaction=event.getAction(); switch(eventaction) { case MotionEvent.ACTION_MOVE: reg.setText(“hey”); break; } return true; }

Android:OnTouch,MotionEvent.ACTION_MOVE无法识别?

这是我的代码,我想检测当我的手指在屏幕下方时,所以当我触摸屏幕时,我检测到ACTION_DOWN但是当我用手指向下移动屏幕时, ACTION_MOVE无法识别, ACTION_UP你知道为什么吗? float x=0; protected void onCreate(Bundle savedInstanceState) { do things ImageView image2 = (ImageView) findViewById(R.id.imageView3); image2.setOnTouchListener(new OnTouchListener(){ @Override public boolean onTouch(View arg0, MotionEvent arg1) { if (arg1.getAction()==MotionEvent.ACTION_DOWN) { x=arg1.getX(); } else { if (arg1.getAction()==MotionEvent.ACTION_MOVE){ if (arg1.getX()>x) { do things } } else { if (arg1.getAction()==MotionEvent.ACTION_UP){ do things } } } }

Android onTouchEvent坐标跳过

我的应用程序,我有一个要求用户在屏幕上移动它的元素,并执行此操作我使用RelativeLayout和onTouchListener。 我遇到的问题是在我的onTouchListener里面, getX()和getY()得到了一些奇怪的结果。 我将下面这行代码添加到我的onTouch() – > ACTION_MOVE块中: Log.v("example", "Touch: {x:" + event.getX() + " } {y:" + event.getY() + "}"); 以下是我的LogCat结果。 04-29 03:16:11.000:V / myApp(24188):触摸! 04-29 03:16:11.057:V / myApp(24188):Touch:{x:69.78699} {y:107.774216} 04-29 03:16:11.103:V / myApp(24188):Touch:{x:77.86926} {y:173.37648} 04-29 03:16:11.158:V / myApp(24188):Touch:{x:69.78699} {y:108.781845} 04-29 03:16:11.205:V / myApp(24188):Touch:{x:77.86926} {y:174.38597} 04-29 03:16:11.463:V / myApp(24188):Touch:{x:69.78699} {y:109.64778} 04-29 03:16:11.502:V / myApp(24188):Touch:{x:77.86926} {y:175.62172} […]

绑定视图在RelativeLayout中拖动

我在RelativeLayout里创build了一个可拖动的视图 。 但它似乎超越了RelativeLayout。 我只是想在ViewGroup里面做一个可拖动的View 这个视图可以根据屏幕draggable 。 它可以在RelativeLayout的边界之外拖动。 我怎么能限制它在RelativeLayout中保持可拖动。 CustomImageButton public class ImageButtonCustom extends ImageButton implements View.OnTouchListener{ float dX, dY; private RelativeLayout rootView; private ImageButtonCustom imageButtonCustom; private OnMoveListener onMoveListener; public ImageButtonCustom(Context context,RelativeLayout rootView){ super(context); this.rootView = rootView; init(); } public ImageButtonCustom(Context context) { super(context); init(); } public ImageButtonCustom(Context context, AttributeSet attrs) { super(context, attrs); init(); } […]

实现View.IOnTouchListener接口

在Xamarin中,我编写了一个实现View.IOnTouchListener接口的类。 这是我的代码: public class OnTouchListener : View.IOnTouchListener { public bool OnTouch (View v, MotionEvent e) { return true; } void IDisposable.Dispose () { throw new NotImplementedException (); } IntPtr Android.Runtime.IJavaObject.Handle { get { throw new NotImplementedException (); } } } 我需要什么值的IDisposable.Dispose和Android.Runtime.IJavaObject.Handle代码项,而不是throw new NotImplementedException ()代码? 提前致谢