在Android Studio中,带有OnTouchListener的按钮可以在按住时连续执行某些操作。

3

我是Android Studio的新手,但正在为学校创建一个应用程序。它是一个最大卧推计算器。我希望当按住增加或减少重量按钮时,重量会不断上升或下降。我看到了一些关于此问题的问题,但它们非常令人困惑,并且没有很好地解释。我宁愿不插入我不知道如何运作的代码,只是为了使应用程序运行。谢谢!


该死!将触摸监听器保留在onCreate方法内。 - Hussain ID
或在Activity上实现它 - Hussain ID
1个回答

1
您可以通过创建按钮,然后将其onTouchListener设置为在检测到按钮上的特定类型的触摸事件时调用某些方法来实现此类效果。例如:
increaseWeightButton.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent mEvent) {
        if (mEvent.getAction() == MotionEvent.ACTION_DOWN)
            startIncreasingWeight();
        else if (mEvent.getAction() == MotionEvent.ACTION_UP)
            stopIncreasingWeight();
        return false;
    }
});

编辑:你能尝试将button.setOnTouchListener代码放在onCreate()中创建按钮后面,而不是外部吗?


你能提供完整的代码吗?有很多被下划线标出来的地方,我不知道它们是什么,想知道我是否需要在公共类MainActivity中实现OnTouchListener或者还需要做些什么。感谢你的回答! - LUKER
不用实现,如果您使用上面的代码。 - Hussain ID
为什么setOnTouchListener、OnTouchListener、@Override、view、mEvent和motion event都被标成红色或下划线了?我是认真的,哈哈。@Hussain ID - LUKER
你是如何创建这个按钮的?如果你是从类的布局 XML 实例化一个按钮,那么在 activity 的 onCreate() 方法中你会写类似这样的代码:Button increaseWeightButton = (Button) findViewById(R.id.increaseButton);。然后你就可以设置这个按钮的 OnTouchListener。 - Mark Ormerod
请上传一些截图。 - Hussain ID
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接