0

我有一个按钮(button1)和两个声音(sound1,sound2),我想对这个按钮实现一个手势。如果单击 Button1,则声音为 sound1,但如果手势触摸 Button1,则声音为 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();
    }

}

太感谢了

4

3 回答 3

0

例如,您可以使用 GestureListener ( https://developer.android.com/reference/android/view/GestureDetector.SimpleOnGestureListener.html#5307216038506006379 ) 并为您的按钮处理不同的事件或手势类型(触摸、点击、滑动...)

于 2016-10-17T08:58:38.373 回答
0

点击和触摸没有太大区别。但是,如果您想同时实现这两种功能,则必须制作一个技巧才能使其正常工作。

对于系统而言,如果您想“点击”或“触摸”它,很难决定将手指放在按钮上。为了控制这个,你可以得到时间,按钮被点击/触摸/无论如何......

例如:如果您单击/触摸/开始计数的任何按钮,如果您停止单击/触摸/whateevring,则停止计数。之后很容易: if(time < 1s) else

请注意,最好使用具有相同代码的 Click-Listener 和 TouchListener 并使用计数内容来决定。

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

于 2016-08-31T06:50:21.047 回答
-1

动态创建按钮会导致问题。但是如果在你的 xml 文件中创建按钮然后设置

于 2017-06-26T11:11:27.227 回答