android framelayout两布局重叠,如何让下层不响应事件

 我来答
缈涚繘鋿
2018-03-31 · TA获得超过1.4万个赞
知道小有建树答主
回答量:80
采纳率:100%
帮助的人:1.7万
展开全部

设置上层布局的属性 android:clickable="true"就行了。

  1. textview的宽度不能设置成wrap_content,设置成fill_parent或者match_parent。然后textview.setGravity(Gravity.RIGHT)。

  2. 就是重写一个framelayout ,然后在它的onlayout方法中将两个linearlayout横着放。

  3. RelativeLayout

  4. 第一类:属性值为true可false

  5. android:layout_centerHrizontal        水平居中

  6. android:layout_centerVertical         垂直居中

  7. android:layout_centerInparent         相对于父元素完全居中

  8. android:layout_alignParentBottom     贴紧父元素的下边缘

  9. android:layout_alignParentLeft        贴紧父元素的左边缘

  10. android:layout_alignParentRight       贴紧父元素的右边缘

  11. android:layout_alignParentTop        贴紧父元素的上边缘

  12. android:layout_alignWithParentlfMissing

匿名用户

2018-06-06
展开全部
找到很多人采用的方法:
设置clickable为true
<FrameLayout
android:clickable="true"
android:id="@+id/flHomebottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="horizontal">
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浅秋712
2017-10-13
知道答主
回答量:9
采纳率:100%
帮助的人:5.8万
展开全部
在上层FrameLayout的layout文件跟布局下增加android:clickable="true"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yameideya
2014-04-09 · 超过35用户采纳过TA的回答
知道答主
回答量:68
采纳率:100%
帮助的人:80.7万
展开全部
http://blog.csdn.net/morgan_xww/article/details/9372285
Android TouchEvent事件传递机制
你能够接收到事件 说明父容器没对事件进行拦截,然后这个事件也没有被消耗掉
你两个布局的父容器是同一个,他把事件传递了给了上层的子布局 肯定也传递给了下层的子布局撒;
你不想下面的控件处理这个事件
你要么在父容器拦截掉(这样这个父容器所有子控件都接收不到触摸事件了)
要么你就不要给他设置监听
要么你就把他设置为gone或者disable状态
要么你复写你的子控件触摸事件,,不要处理,直接返回false

如果下层布局是一个View 推荐使用设置为disable状态 view.setEnabled(false) 在需要响应的时候设置为true!
如果下层布局是一个ViewGroup,你可以复写下 将事件拦截掉 这样就传不下去了,如果你不会
就还是用setEnabled(false) 如果光设置viewGroup不行你就把里面的子控件都调用下这个方法就好了 其他的你设置下clickable为flase之类的属性试试 挺简单的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式