Android:拦截按钮点击不遮挡视觉效果

问题描述

我需要拦截对 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 中指定的操作),但我将其视觉效果降级为正如你在下面看到的那样很慢

普通点击

Normal feedback returning true

更慢的点击

Slow feedback returning false

有没有办法让视觉保持正常,但替换要执行的动作?

附言删除 onClickListener 不是一个选项,因为我希望能够通过更改全局变量返回到它的“正常行为”

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)