私はonClickハンドラを通して処理するボタンを持っています。onClickイベントとonTouchEventイベントを同時に処理する
しかし、ボタンのハイライトを処理できるように、onTouchEventイベントにも応答する必要があります。
問題は、私がonTouchEventハンドラから「false」を返すと、onClickハンドラが呼び出されますが、後続の「up」イベントに対してonTouchEventが返されないということです。
onTouchEventから「true」を返すと、「up」イベントが発生しますが、touchをonClickに送出することはありません。
私のオプションは何ですか?
onTouchEvent内処理「をクリックし、」私自身を実装する - 私がボタン領域内と外の動きを追跡するために必要とされるであろうことを意味している、などの種類の複雑なようです。
私のボタンに単一の画像の代わりにセレクタを使用させ、異なる状態に異なる画像を割り当てることができます。私がこの問題を抱えているのは、セレクタがに変更するのが面倒だということです。私がする必要がある画像はです。私のアプリは異なる「モード」である場合には、異なる状態のボタン画像を変更します。もう一度(、これは過度に複雑そうです。
このすべてが
これを正しく理解しているかどうかを見てみましょう。ボタンのデフォルトの強調表示を自分でオーバーライドしたいですか?もしそうなら、あなたはonTouch内の強調表示のすべてを行い、ACTION_UPを受け取ったときにbutton.performClick()を呼び出すことができますか? onclicklistenerが設定されている場合、performClickはボタンのonClickメソッドを呼び出します。 –