如何禁用FrameLayout中的背景触摸?

时间:2018-09-10 16:30:35

标签: android

我在FrameLayout中有一个VideoView和一个TextView,该TextView正在VideoView上显示。 TextView用于在电影上显示字幕。

enter image description here

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/frameLayout">
    <VideoView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/videoView"/>
    <TextView
        android:id="@+id/subtitleTxtView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="top|center"
        android:gravity="center_horizontal"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:background="#41000000"
        android:padding="10dp"
        android:textColor="#ffffff"
        android:textSize="20sp"/>
</FrameLayout>
  1. 当我在TextView中单击一个单词时,将显示该单词的翻译。
  2. 当我触摸VideoView时,将完成另一项工作。

但是当我单击TextView时,VideoView的触摸侦听器也将起作用,这是我的问题。

我该如何解决?

1 个答案:

答案 0 :(得分:2)

在任何视图上启用点击侦听器或可点击,可阻止触摸传递到其父视图/基础视图

在XML中,将以下代码添加到textview

android:clickable=true

这应该防止所有触摸都传递给基础的videoview。