美文网首页学习之鸿蒙&Android学习
FrameLayout的点击击穿问题

FrameLayout的点击击穿问题

作者: 100个大西瓜 | 来源:发表于2021-07-16 17:19 被阅读0次

    在一个FrameLayout中,包含2个布局,都是占满父布局的,如下

        <FrameLayout
            android:id="@+id/center_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginBottom="14.47dp">
            <SplitView
                    android:id="@+id/split_view"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:visibility="gone" />
    
            <include
                     
                layout="@layout/video_view_type_1_1"
                android:visibility="visible" />
    
        </FrameLayout>
    

    通过切换2个View的显示与隐藏,但是但第一个View1显示时,第二个view2没有隐藏时,虽然view2设置了透明度但是依然出现了响应点击事件:点击穿透;
    解决的方式是:交换2个view在FrameLayout中的声明顺序,并对原来view1的 设置了android:clickable="true"
    android:focusable="true"这个2个熟悉,即可以修改实现当view1显示时,view2不会响应点击事件。
    修改之后的xml文件如下:

    <FrameLayout
            android:id="@+id/center_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginBottom="14.47dp">
            
            <include
                layout="@layout/video_view_type_1_1"
                android:visibility="visible" />
    
            <SplitView
                android:clickable="true"
                android:focusable="true"
                android:id="@+id/split_view"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:visibility="gone" />
    
    </FrameLayout>
    

    相关文章

      网友评论

        本文标题:FrameLayout的点击击穿问题

        本文链接:https://www.haomeiwen.com/subject/kpybpltx.html