Articles of 触摸

触摸textview中的坐标

我在文本视图上使用触摸侦听器。 我可以通过动作事件获得触摸坐标。 我可以获取字符索引或靠近我单击的字符坐标。 例如, Hello Android 这是我的文字。 现在我可以得到xy坐标,但是当我触摸它时,我可以得到字符索引,比如A

使用jQuery touchwipe默认擦除一些擦除

我正在使用这个精彩的插件来捕获移动设备上的擦除事件: http : //www.netcu.de/jquery-touchwipe-iphone-ipad-library 我正在使用该页面源代码中的代码来使我的图像库循环应用。 但是,我的图库是屏幕的整个宽度。 不幸的是,touchwipe似乎阻止了默认的上下擦除在页面上下滚动。 有没有办法让它使用默认行为,除非指定了其他行为? $(document).ready(function() { $(‘#imagegallery’).cycle({ timeout: 0, fx: ‘scrollHorz’, next: ‘#next’, prev: ‘#prev’ }); $(“#imagegallery”).touchwipe({ wipeLeft: function() { $(“#imagegallery”).cycle(“next”); }, wipeRight: function() { $(“#imagegallery”).cycle(“prev”); } }); }); 我也对实现同样效果的其他替代方案持开放态度(其他插件,其他方法)。 谢谢!

Android ImageView缩放和翻译问题

我正在开发一个Android应用程序(API 19 4.4),我遇到了ImageViews的一些问题。 我有一个SurfaceView,我在其中动态添加我想对触摸事件做出反应的ImageViews。 到目前为止,我已经设法使ImageView移动并顺利缩放,但我有一个烦人的行为。 当我将图像缩小到一定限度(我会说原始尺寸的一半)并且我尝试移动它时,图像闪烁。 经过简短的分析,它似乎是围绕屏幕上的手指点对称地切换它的位置,累积距离,最后消失(所有这些都发生得非常快(<1s)。我想我错过了与亲戚的关系触摸事件对ImageView / SurfaceView的价值,但我是一个相当的菜鸟,我被困了…… 这是我的代码 public class MyImageView extends ImageView { private ScaleGestureDetector mScaleDetector ; private static final int MAX_SIZE = 1024; private static final String TAG = “MyImageView”; PointF DownPT = new PointF(); // Record Mouse Position When Pressed Down PointF StartPT = new PointF(); // Record Start Position […]

通过windowmanger注入运动事件?

我想模拟触摸事件。 我正在使用此代码 MotionEvent.PointerCoords[] coords = { new MotionEvent.PointerCoords() }; coords[0].x = 200; coords[0].y = 200; int[] ptrs = { 0 }; MotionEvent event =MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), action, 1, ptrs, coords, 0, 1, 1, 0, 0, InputDevice.SOURCE_TOUCHPAD, 0); windowManager.injectPointerEvent(event, false); 问题出在这条线上 windowManager.injectPointerEvent(event, false); 我无法访问WindowManger。 当我尝试使用它 WindowManager windowmanager=(WindowManager) Context.getSystemService(Context.WINDOW_SERVICE); 我收到了一条错误消息。 “无法从typesContext中对非静态方法getSystemService(String)进行静态引用” 谁能帮我 !!

为什么MotionEvent模拟不起作用?

在练习应用程序的其中一个视图中,我尝试以编程方式执行文本选择。 我能够(以编程方式)进入“文本选择模式”,它由视图左上角的CursorControllers(AKA句柄)可视地指示。 如果我手动拖动右侧的CursorController,然后再次单击它(在模拟器中),它按预期工作(完美),显示一条简短的消息:“文本复制到剪贴板”。 但是当我尝试以编程方式拖动正确的CursorController时,没有任何反应。 我尝试这样做的方法是模拟一个MotionEvent。 在视图中,我打电话给: event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_DOWN, x, y, 0); MainActivity.onTouch(this, event); 在MainActivity中我当然实现了OnTouchListener: @Override public boolean onTouch(View v, MotionEvent event) { // called BEFORE button’s onTouchEvent() Log.v(“MainActivity::onTouch()”, describeEvent(v, event)); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: case MotionEvent.ACTION_UP: if (!v.hasFocus()) { v.requestFocus(); } break; } return false; } 如果我理解正确,仅仅从onTouch返回’false’, Android就会继续寻找另一个UI对象来使用MotionEvent对象,最终到达我的视野 。 为什么不这样呢? 我必须遗漏一些非常基本的东西……

如何确定触摸我的Android设备的屏幕是什么?

我的意思是我想知道触摸我的Android设备的屏幕是什么? 就像FINGER触摸屏幕一样,它会知道它是一根手指,如果是圆珠笔,铅笔,笔记本,或者它会知道它不是手指的东西。 触摸屏如何确定触摸它的东西? 因为我想开发一个FINGERPRINT SCANNER。 我用什么技术? 是否有一个Androidfunction,确定触摸屏幕的东西? 谢谢。 我无法解释清楚,但我希望你有这个想法。

在滚动事件上更新内容时Android设置scrollLeft不会更新滚动条位置

设置scrollLeft会重置滚动条位置并更新内容按预期工作,但同时执行这两项操作时滚动条会混淆并且不会重置。 要查看预期行为与意外行为,请查看具有触摸板的设备上的每个演示,并使用触摸板在包装器内向左或向右滚动,然后尝试在Android设备上执行相同的操作。 请注意,在笔记本电脑上元素将无限滚动,在Android设备上元素将仅滚动直到它达到最初设置的“最大滚动” 应该怎么做: 当用户向左或向右滚动时,将第一个子元素移动到nodeList的末尾或将最后一个子元素移动到开头,并将滚动位置重置为第一个子元素的一半。 以下是我解决问题的尝试 设置transform: translateX(0px) on .inner 看到这里的行为比以前更糟糕。 这里列出的修复程序是针对android中的先前错误,其中设置scrollLeft根本不起作用。 这根本没有帮助。 wrap.appendChild(inner)在每个滚动事件上,这减慢了向下滚动但没有解决问题,因为chrome记住滚动位置。 这将是一个黑客,即使我可以得到铬忘记滚动位置(看起来它可能是合理的,但将是另一个黑客) 我意识到我可以嗅探浏览器并恢复到jquery ui移动刷卡设置,但我认为如果我可以让它工作,我就不必使用外部库来模拟本机行为(并且本机总是更好)。 var log = function(event) { var log = document.querySelector(‘.log’); log.innerHTML = event + “” + log.innerHTML; }; var wrap = document.querySelector(‘.wrap’); var inner = document.querySelector(‘.inner’); var items = document.querySelectorAll(‘.item’); var controlLeft = document.createElement(‘a’); controlLeft.className = ‘control control-left’; controlLeft.href […]

Android:GC_FOR_MALLOC是由漫长的触摸事件引起的?

我一直在阅读并研究touchEvents ,主要是因为我的GC在有长时间的触摸/滑动事件或许多触摸事件时爆炸。 如果我不触摸手机,它就会像我从DDMS执行的前几个GC_EXPLICIT中看到的那样空闲~5个对象。 然后我开始触摸屏幕并四处滑动,对象在13513个对象周围拍摄,实际上导致GC_FOR_MALLOC超过100毫秒。 这是我的简单测试代码,下面是dalvicvm标记的日志。 如果您有解决方法或原因的文档,或者甚至可能只是对此进行另一次深入讨论,我将非常感激! 干杯,祝你好运。 [码] public class testClass extends Activity implements IOnSceneTouchListener{ int numberOfTouches = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); } @Override public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) { numberOfTouches++; return false; } } [logcat的] 06-28 15:24:55.317: DEBUG/dalvikvm(2501): GC_EXPLICIT freed 5 objects / 128 bytes in 53ms […]

如何拦截ViewPager.OnPageChangeListener中的触摸事件

我试图禁止我的ViewPager在标签之间滚动。 我有以下情况: public class MyClass extends ViewPager implements ViewPager.OnPageChangeListener, OnTouchListener { public MyClass() { setOnTouchListener(this); } @Override public void onPageScrollStateChanged(int state) { Log.d(“Testing”, TAG + ” onPageScrollStateChanged”); } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { Log.d(“Testing”, TAG + ” onPageScrolled”); } @Override public void onPageSelected(int position) { Log.d(“Testing”, TAG + ” onPageSelected”); […]

触摸事件:从项目中移除手指时

当我从项目中移除手指时,我需要实现function。 所以我需要一些事件。 ***Scenario:*** 1. Touch the image view using finger. 2. Remove the finger. 3. Now implement the functionality. 我想在第2步进行事件回调。 如果存在某些预定义事件,请提示名称。