标签: touch-event

通过触摸到下面的视图

在我的应用程序中,我在活动之上有一个片段.片段正在填满整个屏幕.片段的一部分是透明视图,您可以看到(属于活动)下的视图.有没有办法将触摸事件传递到片段透明视图下的视图?谢谢!

android view touch-event android-fragments android-activity

34
推荐指数
2
解决办法
3万
查看次数

方法onTouchEvent未被调用

我的方法有问题

@Override
public boolean onTouchEvent(MotionEvent event) {
    return gestureDetector.onTouchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)

是更新的.任何想法为什么会这样?我正在构建一个google的api 4.0.3应用程序,我正在尝试为我的viewFliper启用滑动.但是,如果触摸更新,它就无法工作.

BTW:

 public class MainActivity extends SherlockMapActivity implements ActionBar.TabListener {
Run Code Online (Sandbox Code Playgroud)

那是我活动的宣言.并检测我实施的滑动:

    SimpleOnGestureListener simpleOnGestureListener = new SimpleOnGestureListener(){

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {

        float sensitvity = 50;
        if((e1.getX() - e2.getX()) > sensitvity){
            SwipeLeft();
        }else if((e2.getX() - e1.getX()) > sensitvity){
            SwipeRight();
        }

        return true;
    }

};
GestureDetector gestureDetector= new GestureDetector(simpleOnGestureListener);
Run Code Online (Sandbox Code Playgroud)

感谢你!

编辑:

main.xml中:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >

<ViewFlipper
    android:id="@+id/ViewFlipper"
    android:layout_width="fill_parent" …
Run Code Online (Sandbox Code Playgroud)

android swipe touch-event

31
推荐指数
3
解决办法
3万
查看次数

无法在Android设备上获取Javascript中的touchevents坐标

我正在测试HTML5画布并使用Javascript来绘制支持触控的设备.虽然我在iOS设备上工作但我无法在Android上使用它.我把它缩小到event.pageX没有返回坐标,而是返回0或未定义(基于浏览器).

我在Opera Mobile和Dolphin浏览器上运行Cyanogen 7.1的手机上测试了它,并在运行标准浏览器的Galaxy Tab 10.1(Android 3.1)上进行了测试.

我修改了代码,在touchstart事件上显示警告,显示event.pageX,event.layerX和event.clientX坐标(我知道clientX应该只能在iOS上运行).

canvas.addEventListener('touchstart', function(e) {
if (readyToDraw){
    alert("PageX: "+e.pageX+","+e.pageY+"\n LayerX: "+e.layerX+","+e.layerY+"\n + clientX: "+e.clientX+","+e.clientY);
    // prevent the browsers default action!
    e.preventDefault();
    paint = true;
    // Get coordinates
    var c = getCoords(e);
    addClick(c.x, c.y, false);
}
});
Run Code Online (Sandbox Code Playgroud)

我已经在iOS中使用完整的绘图,但甚至无法让Android注册坐标,任何想法?

最终编辑:我解决了问题,看到了接受的答案.

javascript android touch-event

29
推荐指数
1
解决办法
2万
查看次数

反应,点击事件和材料 - ui

我正在尝试material-ui,react而且我遇到了一个没有解雇事件的问题.我在引导应用程序的同时安装了react-tap-event-plugin和我一起调用injectTapEventPlugin().

toggleMenu 永远不会在以下代码段中调用:

/** @jsx React.DOM */
var React = require('react');
var mui  = require('material-ui');
var LeftNav = mui.LeftNav;
var MenuItem = mui.MenuItem;
var AppBar = mui.AppBar;
var App = React.createClass({

  getInitialState: function () {
    return {
      message: 'Hello World!'
    };
  },
  toggleMenu: function () {
    console.log('clicked hamburger'); //<-- This is never fired
    this.refs.menu.toggle();
  },

    render: function() {
        var menuItems = [{ route: 'get-started', text: 'Get Started' }];
        return (
<div>
    <AppBar …
Run Code Online (Sandbox Code Playgroud)

javascript touch-event reactjs material-ui

28
推荐指数
1
解决办法
5536
查看次数

动态生成的线条,有效发光

我想用这样的发光效果绘制线条
发光线
问题 - 我必须根据用户的交互在程序中生成这一行(行的形式将在onTouchEvent- 中生成ACTION_MOVE).

我可以在没有xml文件或绘制premaid位图的情况下生成此效果吗?

android paint touch-event

27
推荐指数
1
解决办法
1万
查看次数

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

我有一个RelativeLayout,这个布局有近10个视图.

我已经设置OnTouchListener了这个布局并在其中做了一些工作并返回true.

当我触摸没有View的布局(空区域的意思)时,这个监听器工作正常.如果我触摸此布局的子视图,则此侦听器不会触发...

从文档中,我了解到我们可以onInterceptTouchEvent()通过扩展ViewGroup 来覆盖(所以这里是RelativeLayout)并在子视图消耗此事件之前处理触摸事件...

这将做一个技巧,但我需要通过将RelativeLayout替换为CustomRelativeLayout来修改我需要此功能的许多xml文件.

所以我的问题是:

有没有办法RelativeLayoutRelativeLayout消费事件中的子视图之前处理(ofcourse ViewGroup)的触摸事件?我不想延长RelativeLayout......

android ontouchlistener touch-event

27
推荐指数
2
解决办法
2万
查看次数

View.onTouchEvent仅注册ACTION_DOWN事件

我正在实现一个自定义TextView,我想在触摸视图时执行一些操作.我认为该onTouchEvent方法可以在不必使用的情况下为视图提供全方位的触摸setOnTouchListener(我正在尝试在视图中而不是在活动中完成所有工作,因此它是可移植的),但是唯一注册的触摸事件是ACTION_DOWN.如果我OnTouchListener使用此设置活动,我会获得全部触摸事件,但onTouchEvent不会.

任何人都知道为什么会这样,或者任何人都可以提供一个不涉及使用的解决方案setOnTouchListener(这会阻止实现活动设置自己的监听器)?

android android-custom-view touch-event android-event

24
推荐指数
1
解决办法
8965
查看次数

通过触摸或点击在Android Google地图上添加标记

我是Android Developer的初学者.我想使用Google Map开发地图应用程序.现在,我想在地图上通过触摸或点击在地图上添加标记.我不知道如何应用触摸事件来删除地图上的标记.请告诉我,如果有可能,请给我一些链接或例子.谢谢你,对不起我的英语.

android google-maps marker google-maps-markers touch-event

24
推荐指数
3
解决办法
3万
查看次数

Android叠加来抓取所有触摸,然后传递它们?

我基本上试图从系统覆盖中获取所有触摸事件数据,根据此触摸数据移动我的精灵,然后允许操作系统/主屏幕/浏览器按照应有的方式对数据进行操作(反之亦然).我发现了类似的问题,但没有任何东西可以引导我到任何我未曾去过的地方:

获取正在接收所有触摸事件的视图

(已实现,结果如下) 创建系统覆盖窗口(始终在顶部)

我可以做什么:

我可以通过移动我的精灵并且不允许操作系统/主屏幕/浏览器看到它们中的任何一个来抓住所有触摸事件并对其进行操作,或者我可以允许触摸事件通过并且仅获得"TOUCH_OUTSIDE"我的应用程序要采取行动.

我未实现的目标:

我不能为我的生活找到一种方法来同时处理数据.我无法实现的唯一方法是:拦截我的APP中的数据并将其传递到OS/homescreen/browser以使用允许OS/homescreen/browser首先获取数据,然后以某种方式获取信息回调允许操作系统/主屏幕/浏览器获取数据,对数据进行操作,并轮询他们的滚动/位置值,以便在我的APP中对其进行操作.

我担心这是不可能的,我想我在某些文档中读到了一些我现在无法找到的内容:"无论是全部还是全无,您的视图都可以获取所有事件,或者都不是"

(为了避免混淆,我并不是说我有两个视图.我的意思是我有一个视图通过覆盖操作系统/主屏幕/浏览器的活动/服务来控制.如果你愿意,就像一块玻璃.)

感谢您提供的任何有用信息,非常感谢!

[更新]在下面的问题上发表我自己的文档,以免混淆.

android overlay touch touch-event

23
推荐指数
1
解决办法
2万
查看次数

Android - 如何圆形缩放/放大部分图像?

我试图让用户触摸图像,然后基本上一个圆形放大镜将显示将允许用户更好地选择图像上的某个区域.当用户释放触摸时,放大的部分将消失.这用于几个照片编辑应用程序,我正在尝试实现我自己的版本.我下面的代码确实放大了图像视图的圆形部分,但是一旦我松开手指就不会删除或清除缩放.我目前设置一个位图到画布使用canvas = new Canvas(bitMap);然后设置imageview takenPhoto.setImageBitmap(bitMap); 我不知道我是否正确的方式.onTouch代码如下:

zoomPos = new PointF(0,0);
        takenPhoto.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                 int action = event.getAction(); 
                    switch (action) { 
                        case MotionEvent.ACTION_DOWN: 
                            zoomPos.x = event.getX();
                            zoomPos.y = event.getY();
                            matrix.reset();
                            matrix.postScale(2f, 2f, zoomPos.x, zoomPos.y);
                            shader.setLocalMatrix(matrix);
                            canvas.drawCircle(zoomPos.x, zoomPos.y, 20, shaderPaint);
                            takenPhoto.invalidate();
                            break; 
                        case MotionEvent.ACTION_MOVE: 
                            zoomPos.x = event.getX();
                            zoomPos.y = event.getY();
                            matrix.reset();
                            matrix.postScale(2f, 2f, zoomPos.x, zoomPos.y);
                            canvas.drawCircle(zoomPos.x, zoomPos.y, 20, shaderPaint);
                            takenPhoto.invalidate();
                            break; 
                        case MotionEvent.ACTION_UP:   
                            //clear zoom here?

                            break; 
                        case MotionEvent.ACTION_CANCEL: 
                            break; 
                        default: 
                            break; …
Run Code Online (Sandbox Code Playgroud)

android image-zoom touch-event android-imageview android-canvas

22
推荐指数
2
解决办法
1万
查看次数