Android开发之解决父控件拦截子控件事件问题

以ViewPager为例:

 1 public class TopNewsViewPager extends ViewPager {
 2     public TopNewsViewPager(Context context) {
 3         super(context);
 4     }
 5
 6     public TopNewsViewPager(Context context, AttributeSet attrs) {
 7         super(context, attrs);
 8     }
 9
10     //重写这个方法,并且在方法里面请求所有的父控件都不要拦截他的事件
11     @Override
12     public boolean dispatchTouchEvent(MotionEvent ev) {
13         getParent().requestDisallowInterceptTouchEvent(true);
14         return super.dispatchTouchEvent(ev);
15     }
16 }
时间: 2024-12-12 00:50:35

Android开发之解决父控件拦截子控件事件问题的相关文章

父控件、子控件

1 每一个控件其实都是一个容器可以将其他控件放到该控件的内部比较常见的还是将UIView作为容器 2 可以将A控件放入B控件A控件是B控件的子控件B控件是A控件的父控件 3 每一个控制器都有一个UIView控制器本身是不可见能够看到的是控制器的View每一个控制器中都一个UIVIew的属性控制器中管理的所有子控件都是该控件的子控件

解决ListView中Item的子控件与Item点击事件冲突

经常会碰到在ListView中点击其中一个Item,会一并触发其子控件的点击事件,例如Item中的Button.ImageButton等,导致了点击Item中Button以外区域也会触发Button点击事件.在网上找了相关方法,这里记录下,亲测可行.. 1.在Item的xml文件根元素中添加属性:android:descendantFocusability="blocksDescendants" 2.在冲突的子控件中添加属性:android:focusable="false&

cocostudio学习(UIScrollView控件内部子控件的可视化问题)

cocostudio学习(UIScrollView控件内部子控件的可视化问题) 本文内容也是本人学习过程中与COCOSTUDIO开发高手Nutty的对话记录. googleman  10:57:07 Nutty先生好!按照您的指导,在使用UIScrollView时,先尽量避免使用内部子控件的删除/移动/添等操作.于是,在强调用户选择的是其中内部哪一个子项时我使用了在其前面显示一个'框'(UIImageView)的方法.于是,在初期,仅有一个框框出默认选择的内部子项(也是UIImageView).

ArcGIS Runtime for Android开发教程V2.0(8)基础篇-----地图事件

转自:http://blog.csdn.net/arcgis_mobile/article/details/8263283 ArcGIS Runtime sdk for Android为我们提供了丰富的事件监听器,本节将主要介绍我们经常使用的监听器,并且介绍通过这些监听器可以实现哪些功能,在下面的监听器中只有MapOnTouchListener是类,其他皆为接口类型,如图所示: 1.1 MapOnTouchListener MapOnTouchListener是MapView最为重要的监听器之一

让超出父视图范围的子视图响应事件,在UIView范围外响应点击

//重写该方法后可以让超出父视图范围的子视图响应事件 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {     UIView *view = [super hitTest:point withEvent:event];     if (view == nil) {         for (UIView *subView in self.subviews) {             CGPoint tp = [sub

Android嵌套滑动控件的冲突解决和ViewPager适配当前子控件高度不留空白的办法

最近项目有一个需求,需要多层可滑动控件的嵌套展示,demo效果如下,demo的下载地址在最后 咋一看好像挺简单啊,不就是一个ScrollView + ViewPager + ListView吗,我开始也这样觉得,也用的这种方式实现,结果始终和效果不对劲.这里总结几点问题: 两个或两个以上的滑动控件嵌套时,如果layout_height采用的是wrap_content会造成内部滑动控件的高度不能正确的计算,会导致内部滑动控件的高度始终为0,除非你用定值设置,比如300dp. 两个相同滑动方向的滑动

Android开发:自定义银行app的最大额度控件

详解 前几天看到掌上生活上一个好玩的最大额度提示的页面,作为程序员的我,不能光看别人做的效果,于是自己也撸了一个差不多的额度控件了. 掌上生活效果: 今天就是这么个玩意是个主角了.好了,下面也来看看咋们要实现的结果: 使用: xml: <com.xiangcheng.amount.AmountView android:id="@+id/amount_view" android:layout_width="wrap_content" android:layout

android开发游记:meterial design 5.0 开源控件整套合集 及使用demo

android 的5.0发布不光google官方给出了一些新控件,同时还给出了一套符合material design风格的设计标准,这套标准将未来将覆盖google所有产品包括pc端,网站,移动端.在android端上陆续出现了许多开源的控件库开始以google的以 material design为指导而设计的新风格控件库,对比了多个库之后这里推荐一套比较齐全且效果比较好的控件库,使用方法和传统控件高度一致,并向下兼容,附上使用方式和demo下载. 效果图: 这是由rey5137发布的mater

解决TalbleView头部或底部子控件不显示问题

在自定义cell头部控件UITableViewHeaderFooterView(和自定义cell的方法几乎一样)时,出现了头部控件子控件不显示的问题. 注意和自定义cell的区别. .h文件 1 #import <UIKit/UIKit.h> 2 #import "CHModleGroup.h" 3 @interface HeaderView : UITableViewHeaderFooterView 4 @property (nonatomic, weak) UILabe