[英]How To Use OnTouchListener To Open New Activity
我尝试了 OnClickListener 和 OnLongClickListener 是的,它起作用了,但是它们太快了,我想让它们更长,我只是无法使用 OntouchListener 打开新活动而且我不知道几乎尝试了一切都没有奏效
活动名称:网站
按钮 id:action_button(它是一个 floatingActionbutton)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FloatingActionButton actionButton = findViewById(R.id.action_button);
defineView();
handleIntent();
defineActionBar();
checkPermission();
//i tried both here
public void openWebsite() {
Intent intent = new Intent(this, Website.class);
startActivity(intent);
不确定为什么要使用 OnTouchListener 而不是 OnClickListener,因为我认为它们在引用按钮事件时没有任何区别。
whit OnClickListener 您可以通过以下方式捕获长按:
button.setOnLongClickListener {
//ACTION
true
}
编辑:(对于自定义持续时间,您应该使用 OnTouchListener,没错)
你可以这样做:
long time = 0;
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if(motionEvent.getAction() == MotionEvent.ACTION_DOWN){
time = System.currentTimeMillis();
}
else if(motionEvent.getAction() == MotionEvent.ACTION_UP){
double duration = (System.currentTimeMillis() - time / 1000.0);
if(duration > 5){
action2();
return true;
}else if(duration > 3.2){
action1();
return true;
}
}
return false;
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.