在 Android 上“用 longclick 拖动”是不可能的吗?

Posted

技术标签:

【中文标题】在 Android 上“用 longclick 拖动”是不可能的吗?【英文标题】:Is "dragging with longclick" impossible on Android? 【发布时间】:2011-09-20 09:23:36 【问题描述】:

我正在制作图表。我可以放大,拖动......我还需要长按拖动。如果你需要解释,用户可以longClıck查看图表值,用户可以向左拖动,长按向右拖动以查看其他值...android可以感知吗?我使用 achartengine 库。

我现在可以处理了:)但我还有另一个问题......

 longPressDetector = new GestureDetector(getContext(), new SimpleOnGestureListener() 
     @Override
     public void onLongPress(final MotionEvent e) 
        int x = (int) e.getX();
        final int y = (int) e.getY();
        Toast.makeText(context, "long press", Toast.LENGTH_SHORT).show();
        
       );

但代码不是我理解的。 我应该知道什么??

   @Override
  public boolean onTouchEvent(MotionEvent event) 
  if (longPressDetector.onTouchEvent(event)) 
      return true; *** not work.
  

我可以这样用 longClick 拖动吗?我是对的吗?

【问题讨论】:

你是否使用过任何图表库...?? 是的,我使用 achartengine 【参考方案1】:

好的,我用这个..

   longPressDetector = new GestureDetector(getContext(),
            new SimpleOnGestureListener() 
                @Override
                public void onLongPress(final MotionEvent e) 
                    if (!isVolumeChart) 
                        touchHandler.handleLongTouch(true);
                        onLongPress = true;
                    
                

                @Override
                public boolean onSingleTapUp(MotionEvent e) 
                    if (!isVolumeChart && onClickLayout != null)
                        onClickLayout.onClickedView(rootLayout);
                    return super.onSingleTapUp(e);
                

                @Override
                public boolean onDoubleTap(MotionEvent e) 
                    if (!isVolumeChart) 
                        fitZoom = new FitZoom(mChart);
                        zoomReset();
                        if (volumeView != null) 
                            volumeView.fitZoom = new FitZoom(
                                    volumeView.mChart);
                            volumeView.zoomReset();
                        
                    
                    return super.onDoubleTap(e);
                
            );

【讨论】:

以上是关于在 Android 上“用 longclick 拖动”是不可能的吗?的主要内容,如果未能解决你的问题,请参考以下文章

Android Webview 在三星和 Android 11 上崩溃

在 xml (android:, app:, @.., ...) 上使用 android 前缀

Android 在 Android 手机 LockScreen 上显示活动

在 Android 上使用 RxNetty

Android TV 应用无法安装在 Android TV 设备上

Android:如何在 android 4.2 上折叠状态栏? [复制]