ユーザーがアプリを初めて起動したときに簡単なメッセージを表示するために、画面全体をカバーするオーバーレイがあります。このオーバーレイには、オーバーレイを解除するボタンが1つあります(その表示を消すように設定します)。私は解決する方法がわからないキャッチ22を持っています。Android - ボタンでオーバーレイが正しく応答しない
まず、XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main_rootview"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="Activity.MainActivity"
android:orientation="vertical">
<include
android:id="@+id/activity_main_content"
layout="@layout/main_content"/>
<RelativeLayout
android:id="@+id/activity_main_overlay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
android:background="#B3000000">
<Button
android:id="@+id/button dismiss"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="15dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="10dp"
android:layout_marginRight="10dp"
android:text="@string/ok"/>
</RelativeLayout>
</RelativeLayout>
彼らはアプリを起動非常に最初の時間は、私が見えるように、このオーバーレイを設定します。ボタンをクリックすると、オーバーレイの表示がView.GONE
に設定されます。このコードが立っているので、ボタンをクリックするとすべてがうまくいきます。ただし、オーバーレイの他の場所をクリックすると、クリックはオーバーレイを通過し、オーバーレイの背後にあるコンテンツはオーバーレイが存在しないかのように応答します。このオーバーレイでクリックを吸収し、ボタンにのみ反応します。
したがって、明白な応答はclickable="true"
をオーバーレイに追加することです。しかし、ボタン自体はクリックに反応せず、ユーザーはオーバーレイにぶら下がり、オーバーレイの目的をすべて破ります。時には、私が十分に長く待っていると、ボタンのクリックが発生しますが、これが起こったとしても、ボタンが応答するまでには受け入れられないほど長い時間がかかります。
ボタンをクリックに反応させると同時に、他のすべてのタップイベントをオーバーレイで使用する方法を教えてください。助けてくれてありがとう。
書き込みのonClickまたはonTouchイベント。 – Drv