问题描述
我需要拦截对 Android 按钮的点击以提供替代行为;这样当我把它放在我的应用程序中时,我不需要更改侦听器或任何有关它的内容,我只需更改此全局变量即可获得两种不同的行为。
像这样
export PATH=$JAVA_HOME/bin:$PATH.
如果我只是在 val globalVariable = false
class MyButton : AppCompatButton {
constructor(c: Context) : super(c)
constructor(c: Context,a: AttributeSet?) : super(c,a)
constructor(c: Context,a: AttributeSet?,d: Int) : super(c,a,d)
override fun dispatchTouchEvent(event: MotionEvent?): Boolean {
when (event?.actionMasked) {
MotionEvent.ACTION_UP -> {
if (globalVariable) {
// do something else
return false
}
}
}
return super.dispatchTouchEvent(event)
}
}
中返回 false,我确实设法避免执行其“正常操作”(因此我的应用程序中 dispatchTouchEvent
中指定的操作),但我将其视觉效果降级为正如你在下面看到的那样很慢
普通点击
更慢的点击
有没有办法让视觉保持正常,但替换要执行的动作?
附言删除 onClickListener 不是一个选项,因为我希望能够通过更改全局变量返回到它的“正常行为”
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)