相关疑难解决方法(0)

检测触摸按压与长按vs运动?

我目前正在摆弄Android编程,但我在检测不同的触摸事件时遇到一个小问题,即正常触摸按下(按下屏幕并立即释放),长按(触摸屏幕并按住手指) )和移动(在屏幕上拖动).

我想要做的是在屏幕上有一个图像(圆圈),我可以拖动它.然后,当我按一次(短/正常按下)时,Toast会提供一些关于它的基本信息.当我长按它时,会出现一个带有列表的AlertDialog来选择不同的图像(圆形,矩形或三角形).

我使用自己的OnTouchListener创建了一个自定义视图来检测事件并在onDraw中绘制图像.OnTouchListener.onTouch是这样的:

// has a touch press started?
private boolean touchStarted = false;
// co-ordinates of image
private int x, y;

public boolean onTouch(View v, MotionEvent event) {
    int action = event.getAction();
    if (action == MotionEvent.ACTION_DOWN) {
        touchStarted = true;
    }
    else if (action == MotionEvent.ACTION_MOVE) {
        // movement: cancel the touch press
        touchStarted = false;

        x = event.getX();
        y = event.getY();

        invalidate(); // request draw
    }
    else if (action == MotionEvent.ACTION_UP) {
        if (touchStarted) {
            // touch …
Run Code Online (Sandbox Code Playgroud)

java android move touch long-press

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

通过触摸到下面的视图

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

android view touch-event android-fragments android-activity

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