Android Toolbar遮挡按钮(view)点击事件,怎么穿透呢

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Jiang_Rong_Tao/article/details/81563605

今天有朋友问我这个问题,我找到一个可行的方案,给大家分享一下

toolbar.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
            //R.id.bottom_view是个ToolBar平级的view的id
                return findViewById(R.id.bottom_view).dispatchTouchEvent(event);
            }
        });

一般都是这种情况:

<FrameLayout ...>
    <ViewGroup...
    android:id="@+id/bottom_view"
    >
       <Button .../>//被抢占点击事件的View
    </ViewGroup>
    <android.support.v7.widget.Toolbar
     ....>
    </android.support.v7.widget.Toolbar>
</FrameLayout>

原理就是将Toolbar的触摸事件转换到和他平级的View中去分发消费。

猜你喜欢

转载自blog.csdn.net/Jiang_Rong_Tao/article/details/81563605