我对android比较新。我正在考虑添加一种功能,根据按下按钮的持续时间,会发生两种不同类型的事件。这样的功能可能吗? 假设用户按下按钮三秒钟,它应该打开设置菜单,否则它应该搜索手机中的音乐。我不担心该怎么做。我需要知道是否可以检测持续时间这样的事情
答案 0 :(得分:2)
也许在你的情况下足以实现onClick和onLongClickListener
Button someButton = findViewById(R.id.button);
// fire this listener when user click on button
someButton.setOnClickListener(new OnClickListener({...}));
// fire this listener when user do long click on Button
someButton.setOnLongClickListener(new OnLongClickListener({...}));
在这种情况下,您有两个选项,第一个是简单点击,第二个是标准长按。我认为这将是适合您的问题的解决方案。但是,如果你需要更具体的解决方案,那么我们可以说不同的时间你应该实现OnTouchListener并处理触摸事件取决于你的意图。
答案 1 :(得分:1)
View.setOnClickListener
和View.setOnLongClickListener
就是您所需要的。
如果要查找持续时间,则必须编写自己的View
子类。我建议从Button
开始并使用听众。