Как отключить прикосновение предыдущей компоновки

У меня есть макет андроида следующим образом:

<RelativeLayout>

    <Layout
        android:id="@+id/login_fragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:name="com.test.console.LoginFragment"  />

    <Layout
        android:id="@+id/transperent_fragment"
        android:name="com.test.transperentFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/body_texture"
        android:alpha="0.2"> />

</RelativeLayout>

If I touch on transparent layer still login button gets clicked. So how to avoid login button click after touch on transparent layout

Если я касаюсь прозрачного слоя, все равно нажимается кнопка входа в систему. Итак, как избежать кнопки входа в систему после нажатия на прозрачный макет

Ответ 1

Есть два варианта, позволяющих сделать ваш нижний макет неактивным:

  • Создайте нижний слой (или кнопку) без клика, добавив атрибут android:clickable="false"
  • Сделайте свой верхний слой кликабельным, добавив атрибут android:clickable="true", затем коснитесь, чтобы не перейти к нижним уровням.

Надеюсь, это поможет вам!

Ответ 2

используйте wrap_content для кнопки входа

<Layout
    android:id="@+id/login_fragment"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:name="com.test.console.LoginFragment"  />

<Layout
    android:id="@+id/transperent_fragment"
    android:name="com.test.transperentFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/body_texture"
    android:alpha="0.2"> />