1. ホーム
  2. android

[解決済み] android View with View.GONE はまだ onTouch と onClick を受け取ります。

2023-07-23 03:43:41

質問

これは私を混乱させています。

私が読んだ限りでは、 setVisibility(View.GONE); を持つビューは、これ以上タッチまたはクリックイベントを受信しないはずです。 私のレイアウトには 2 つの部分があり、それらは可視または消失して、一度に 1 つだけが表示され使用できるようになりますが、View.GONE はトリックを実行しません。 予想通り GONE ビューは見えませんが、まだ onClick に反応します (そして、もう一方のビューが取得するはずのイベントを消費します)。

私を助けることができますか?

多分、興味深いと思います。 私のプロジェクトを開始すると、1 つのビューが GONE になり、もう 1 つが表示されます。このとき、期待どおりに動作しますが (GONE ビューは基本的に無視されます)、コードを通じて View.GONE を設定すると、動作しなくなります。

どのように解決するのですか?

ビューの表示/非表示にアニメーションを使用しているのではありませんか?android:fillEnabled="true" android:fillAfter="true" を持つアニメーションを使用するとこの動作が発生します。 fillEnabled/fillAfterのないアニメーションを使用すると、すべてが期待どおりに動作します...。