android 编程 按住 按一下 松开 分别如何监听
androidbutton监听按扭按住不松时,松开时,和按一下就松开(键入),这三种情况的独立事件...
android button 监听 按扭 按住不松时,松开时,和按一下就松开(键入),这三种情况的独立事件
展开
4个回答
展开全部
楼主是想表达,“长按”时间的监听吗?那么:
down.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stubreturntrue;
}
});
望楼主采纳!
down.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stubreturntrue;
}
});
望楼主采纳!
更多追问追答
追问
我想要的是,长按时触发一个效果,长按松开时停止这个效果,然后短按时触发另一个效果。
比如一个播放器的“下一首”按扭,短按一下:切歌到下一首;长按:快进当前歌曲;长按松开:正常播放歌曲
追答
boolean longClicked = false;
button.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
longClicked = true;
}
});
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v,MotionEventevent){
if(event.getAction() == MotionEvent.ACTION_DOWN) {
if(longClicked) {
//快进
}
} elseif(event.getAction() == MotionEvent.ACTION_UP) {
longClicked = false;
}
}
});
短按就不用说了吧setOnClickListener就好了。
望采纳!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分别实现listener并 为按键set 相应的listener.
长按是onLongClickListener
短按是onClickListener
放开好像没有这个接口,那就只能用onTouch了, event.getAction() == MotionEvent.ACTION_UP 就是放手了
长按是onLongClickListener
短按是onClickListener
放开好像没有这个接口,那就只能用onTouch了, event.getAction() == MotionEvent.ACTION_UP 就是放手了
追问
但是无论长按(onLongClickListener)还是短按(onClickListener),松开手时都会触发(onTouch)。
我想要的是,长按时触发一个效果,长按松开时停止这个效果,然后短按时触发另一个效果。
比如一个播放器的“下一首”按扭,短按一下:切歌到下一首;长按:快进当前歌曲;长按松开:正常播放歌曲
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
touch事件里面有 up down over 三种状态
追问
然后呢?
追答
然后你就在up的后面写你想做的事 down的后面写你先做的事 ……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询