onTouchEventは画面をユーザーがタッチした際に呼び出されるコードです。
・クリックした時
・クリックしたものを動かした時
・クリックして動かしたものを話した時の3つに分かれます。
onTouchEventの使い方
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
//1)画面タッチ
override fun onTouchEvent(event: MotionEvent?): Boolean {
var iv :ImageView = findViewById(R.id.iv)
//2)条件分岐(押した時、動かした時、離した時)
when(event?.action){
MotionEvent.ACTION_DOWN -> iv.setImageResource(R.drawable.cat02)
MotionEvent.ACTION_MOVE -> iv.setImageResource(R.drawable.cat03)
MotionEvent.ACTION_UP -> iv.setImageResource(R.drawable.cat01)
}
return super.onTouchEvent(event)
}
}
MotionEvent.ACTION_DOWNでクリックした時
MotionEvent.ACTION_MOVEでクリックしたものを動かした時
MotionEvent.ACTION_UPでクリックして動かしたものを話した時
に分かれます。
whenは
when(条件) {
条件がAの時 -> 処理
条件がBの時 -> 処理
}
のように書きます。
swiftでいう、switch文のことです。