У меня есть функция, которая уменьшает размер представления на ACTION_DOWN
и возвращает его к исходному размеру на ACTION_UP
. Эта функция строго для эстетики. Я установил на кнопки setOnClickListeners, чтобы они (теоретически ...) могли выполнять код при нажатии кнопки.
private fun scaleButton(theButton:View, grow:Boolean){
theButton.setOnTouchListener(View.OnTouchListener { v, event ->
if (event.action == MotionEvent.ACTION_DOWN) {
v.isPressed = true
if (grow) {
v.animate().scaleX(1.04F).scaleY(1.04F).setDuration(50)
} else {
v.animate().scaleX(0.97F).scaleY(0.97F).setDuration(50)
}
} else if (event.action == MotionEvent.ACTION_UP) {
v.isPressed = false
v.animate().scaleX(1.0F).scaleY(1.0F).setDuration(100)
}
false
})
}
Проблема в том, что setOnClickListener
никогда не вызывается.
OnCreate:
scaleButton(button1,false)
scaleButton(button2,true)
scaleButton(button3,false)
button1.setOnClickListener {
println("Button 1 Pressed")
}
button2.setOnClickListener {
println("Button 2 Pressed")
}
button3.setOnClickListener {
println("Button 3 Pressed")
}
Как я могу одновременно масштабировать кнопку с помощью анимации (на ощупь) И триггера setOnClickListener