我想制作一个按钮,当按住 3 秒时它会执行某些操作,我明白了。它确实有效,但我想知道它是否是正确的做事方式,我的意思是我想以相同的方式设计所有按钮,整个菜单基于按住 x 秒然后继续执行某些操作我想知道它是否会产生问题并且不会让我的应用程序变得迟钝。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
onbutton = (Button)findViewById(R.id.onbutton);
onbutton.setOnTouchListener(new View.OnTouchListener() {
private Handler handler;
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch(motionEvent.getAction()){
case MotionEvent.ACTION_DOWN:
onbutton.setBackgroundResource(R.drawable.onbuttonshape);
handler = new Handler();
handler.postDelayed(run,3000);
break;
case MotionEvent.ACTION_UP:
onbutton.setBackgroundResource(R.drawable.buttonshape);
handler.removeCallbacks(run);
break;
}
return true;
}
Runnable run = new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, "delayed msg", Toast.LENGTH_SHORT).show();
}
};
});
}
最佳答案
关于java - Android 按住按钮几秒钟然后做一些事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41131104/