【发布时间】:2019-05-22 21:39:37
【问题描述】:
我有一个函数可以缩小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 从未被调用过。
创建:
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
【问题讨论】:
-
您是否尝试在“OnTouchListener”中返回“false”?
-
是的。那并没有改变什么。我在原始帖子中编辑了代码。
-
好吧,我用谷歌搜索了一下。可能这个对stackoverflow.com/questions/19538747/…有帮助吗?