一、问题记录
这里我们点击左侧的“三个点更多”会有二级隐藏菜单弹出。由于组件化的写法,这个二级菜单是属于底部菜单组件所持有。
首先在页面布局上。对于ios,默认是可以透过去的,但是对于android默认是不会透过去,我们需要在xml中配置不剪切属性
android:clipChildren="false"
android:clipToPadding="false"
或者在css写法中,我们需要添加overflow属性
overflow: 'visible',
其次,在事件传递上,这里由于是跨平台开发而非纯html网页开发,使用的仍然是手机端原始渲染引擎。这里ios同样对透过去的View支持的很好,但是对于android,这里点击事件就失效了。如图所示
二、解决方法
对于android原生写法,我们考虑andorid的事件分发机制。使用重写页面的onTouchEvent事件分发函数,以定位的方式将事件赋予按钮事件。代码如下既可
@Override
public boolean onTouchEvent(MotionEvent event) {
//首先定义一个数组用来接收按钮的坐标xy值