在Android中,可以使用OnTouchListener
来处理onTouchEvent
事件,实现"点击并保持"的功能。下面是一个示例代码:
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView textView;
private boolean isHolding = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
textView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 开始按下,设置标志位
isHolding = true;
textView.setText("按下");
return true;
case MotionEvent.ACTION_UP:
// 松开手指,重置标志位
isHolding = false;
textView.setText("松开");
return true;
}
return false;
}
});
}
}
在上面的示例中,我们给textView
设置了一个OnTouchListener
,在onTouch
方法中,我们根据手势事件的类型进行判断。当手指按下时,我们将isHolding
设置为true
,并更新textView
的文本为"按下";当手指松开时,我们将isHolding
设置为false
,并更新textView
的文本为"松开"。
这样,当用户点击并保持住textView
时,textView
会显示"按下",当用户松开手指时,textView
会显示"松开"。