如何在android上实现按钮手势?

如何在android上实现按钮手势?,android,gesture,Android,Gesture,我有一个按钮(button1)和两个声音(sound1,sound2),我想对这个按钮执行一个手势。如果单击按钮1,则声音为sound1,但如果手势触摸按钮1,则声音为sound2。为了处理声音,我使用SoundManager类。为了处理触摸,我使用多点触摸类 public class MyActivity extends MultiTouch { public void onCreate(Bundle savedInstanceState) { super.onCreate(saved

我有一个按钮(button1)和两个声音(sound1,sound2),我想对这个按钮执行一个手势。如果单击按钮1,则声音为sound1,但如果手势触摸按钮1,则声音为sound2。为了处理声音,我使用SoundManager类。为了处理触摸,我使用多点触摸类

public class MyActivity extends MultiTouch {
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.myactivity);

    SoundManager.getInstance();
    SoundManager.initSounds(this);
    SoundManager.loadSounds();

    Button Button1 = (Button)findViewById(R.id.button1);
    Button1.setOnTouchListener(this);
    Button1.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            SoundManager.playSound(1, 1);
        }
    });
     }

 public void onDestroy()
    {
        super.onDestroy();
        SoundManager.cleanup();
    }
}


非常感谢

点击和触摸之间没有太大区别。 但是如果你想同时实现这两个功能,你必须想办法让它发挥作用

对于系统来说,很难决定是否要“点击”或“触摸”按钮。要控制这一点,你可以得到时间,按钮被点击/触摸/无论什么

例如: 如果你点击/触摸/任何你开始计数的按钮,如果你停止点击/触摸/什么,你停止计数。之后很容易:如果(时间<1s)其他

请注意,最好有一个具有相同代码的Click Listener和TouchListener,然后使用计数功能进行决定


我已经实现了,它工作得很好

例如,您可以使用GestureListener()处理按钮的不同事件或手势类型(触摸、轻触、滑动…)

动态创建按钮会导致问题。但是,如果在xml文件中创建按钮,然后设置为“开”

您的代码看起来很好……您面临的问题是什么?看看这个问题,问题是我想在按钮1上添加手势以调用声音2。如果我使用上述代码,我只能通过单击调用sound1。我想,当我点击按钮1时,我想声音是sound1,但当我用手势触摸按钮1时,声音是sound2--使用Google Translate——在ouTouch中,您可以通过滚动或单点双击处理所有其他事件。。但onClick仅处理单击