如何检测按下按钮的时间?

时间:2019-06-21 21:43:03

标签: android kotlin

我想不只是单击按钮就执行操作

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        var ib:ImageView=findViewById(R.id.imageView4) as ImageView
        var final=MediaPlayer.create(this,R.raw.`m1`)
        var anim=AnimationUtils.loadAnimation(this,R.anim.rotate)
        ib.setOnTouchListener(){
            textView.text="rip"
            final.start();
            ib.startAnimation(anim);
        }

    }
}

我希望在按住按钮时执行操作,而在不按住按钮时停止操作。

1 个答案:

答案 0 :(得分:0)

这似乎工作正常,但编译器发出警告

ib.setOnTouchListener(View.OnTouchListener { view, motionEvent ->
        when (motionEvent.action){
            MotionEvent.ACTION_DOWN -> {
                textView4.text="IGNORING"
                ib.startAnimation(anim)
                final.setLooping(true)
                final.start()
            }
            MotionEvent.ACTION_UP -> {
                textView4.text="IGNORE"
                ib.clearAnimation()
                final.pause()

            }
        }
        return@OnTouchListener true
    })