Вопрос по android, android-layout – Как отключить любое событие на View в Android?

6

У меня простой вопрос: как отключить любое событие в View в Android? (включая удаление его фокусируемости, как будто я просто хочу, чтобы он был там визуально, но не существовал во всем остальном) И это работает на целом дереве представления? (например, если я отключу события в корне, все события будут отключены для его дочерних элементов?).

Теперь, прежде чем что-то сказать, я попробовал все следующее:

И ни один из этих методов не работает серьезно.

Я попробовал их прямо наWebView, а также на родительском макете на все, но я все еще могу взаимодействовать с ним.

Любая идея?

Спасибо!

EDIT#1

Решение, заключающееся в добавлении представления поверх представления, которое необходимо отключить, не работает. На самом деле все еще можно нажать на внутреннем виде, я попробовал на простом примере:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="#ff0000">
        <Button
            android:id="@+id/button"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="Click Me!"
        />
    </LinearLayout>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#00000000"
    />
</FrameLayout>

Здесь все еще можно нажать наbutton.

EDIT#2

Причина, по которой я хочу это сделать, связана сследующий вопрос что я спросил несколько недель назад.

Что у меня естьListViewвыступая в качестве панели навигации, которая находится подView который содержит содержимое моего приложения. Проблема с этой реализацией заключается в том, что, когда я пытаюсь прокрутитьListView когда в слое сверху есть фокусируемый вид, хорошоListView не прокручивает и вместо этого это вид сверху, который фокусируется (это тот случай, когда есть Webview илиEditText так далее.).

Так что да, как упоминалось в одном из ответов, я могу отключить любые события клика наWebView переопределивsetOnTouchListener но представление остается сфокусированным, и я думаю, что по этой причине у меня все еще остается та же проблема с моей панелью навигации.

Ваш Ответ

1   ответ
5

го, установив view.visibility = ушел / видимый.

<FrameLayout>
<WebView/>
<FrameLayout This view will be on top/>
</FrameLayout>

Редактировать: Просто наткнулся на эту ссылку:https://stackoverflow.com/a/3856199/969325 В основном отключает все сенсорные события для веб-просмотра. Пробовал что?

Редактировать 2 reedit: попробуйте установить видимость, которая исчезла для вида сверху под вашим списком.

Я не хочу, чтобы это исчезло! Я просто хочу отключить любое событие (например, щелчки) на нем ... Amokrane Chentir
Это веб-просмотр. Я тоже тестирую экспериментальный проект (только с базовыми представлениями). Спасибо за вашу помощь. Amokrane Chentir
@AmokraneChentir просто сделайте его прозрачным ... android: background = & quot; android: color / transparent & quot; & lt; - если он существует, иначе создайте собственный прозрачный цвет
@AmokraneChentir Хорошо, попробую немного поэкспериментировать. Это веб-просмотр, который доставляет вам неприятности? Это вспышка, которая дает проблемы?
О, хорошо, я не правильно прочитал ваш ответ. Ну, на самом деле, даже с другим видом сверху, я все еще могу просмотреть его на внутреннем виде. Amokrane Chentir

Похожие вопросы