`
hilary3113
  • 浏览: 266377 次
  • 性别: Icon_minigender_1
  • 来自: 邯郸
社区版块
存档分类
最新评论

扩大View的点击范围

 
阅读更多

扩大View的点击范围本人知道的有两种方法,在不影响界面效果的前提下:

1、在View的外面添加一个透明容器

2、就是本文要说的,代码如下 :

 

public void addToParentArea(final View view) {

		DisplayMetrics metric = new DisplayMetrics();
		getWindowManager().getDefaultDisplay().getMetrics(metric);
		final float density = metric.density;

		final View parent = (View) view.getParent();
		parent.post(new Runnable() {
			public void run() {
				// View的点击范围向四周扩大30个单位
				final Rect r = new Rect();
				view.getHitRect(r);
				r.right += 30 * density;
				r.left += 30 * density;
				r.bottom += 30 * density;
				r.top += 30 * density;
				parent.setTouchDelegate(new TouchDelegate(r, view));
			}
		});
	}
 
分享到:
评论

相关推荐

    android超出布局点击失效解决方案附带自定义控件

    1. **设置点击监听器**:为父布局设置点击监听器,并在事件处理中通过`event.getX()`和`event.getY()`获取点击位置,判断是否落在子View的范围内。如果是,则手动调用子View的`performClick()`方法。 2. **自定义...

    UITableView的SectionHeader的复用

    2. **提供Header View Identifier**: 给你的Header View指定一个唯一的标识符,这将在之后的代码中用于从重用队列中取出Header View。 3. **返回Header View的高度**: 在UITableViewDataSource的`tableView:...

    Android使用TouchDelegate增加View的触摸范围

    在实际应用中,我们通常需要在`View`的父容器上设置`TouchDelegate`,以扩大子View的触摸范围。关键在于,要准确设置`TouchDelegate`,需要在View的布局完成并且尺寸确定后进行。对于自定义View,我们可以在`...

    九宫格排列扩充 xib

    总结来说,实现九宫格排列的扩充,主要涉及Xib的设计、自定义View的创建、布局计算、动态加载和交互处理等多个环节。通过合理的代码组织和优化,我们可以创建出既美观又高效的九宫格界面。在实际项目中,可以根据...

    QGraphicsItem自定义图元,拖动绘制,拖动拉伸缩放图元

    例如,你可以重写`boundingRect()`来定义图形的边界矩形,`paint()`来绘制图形,`shape()`来确定鼠标点击时的形状,以及`advance()`来处理动画效果。 2. **拖动绘制**: 拖动绘制允许用户通过鼠标移动在场景中绘制...

    iOS UIButton扩大按钮响应区域的解决方法

    这样,即使按钮的实际尺寸较小,用户在点击按钮周围稍大一些的区域时,系统也会识别为点击了该按钮,从而提高了用户体验。 第二种方法通常涉及到自定义手势识别器(Gesture Recognizer),比如使用`...

    ScanAnimDemo.zip

    雷达扫描通常表现为一个中心点向外辐射的圆形线条,逐渐扩大覆盖范围,给人一种探测或扫描周围环境的感觉。在Android中,我们可以使用`Canvas`和`Path`来绘制这种效果。通过定时器或者`ValueAnimator`控制动画的执行...

    使用LoadRunner监控MySQL在Apache下占用CPU资源情况的方法

    如果未能找到这些数据,可能需要手动配置`snmpd.conf`文件,扩大监控范围,例如将`view systemview included .1.3.6.1.2.1.1`改为`view systemview included .1.3.6.1.2`或更广的范围。同时,启动`portmap`和`snmpd`...

    android 雷达脉冲 以中心点扩散的效果

    本示例“android 雷达脉冲 以中心点扩散的效果”就是一个创新的UI动态设计,它模拟了雷达扫描或声波扩散的过程,从一个中心点向外扩散,达到最大范围后逐渐淡化消失。这种效果通常用于吸引用户注意力或者在寻找、...

    Qcustormplot 实现鼠标框选 放大缩小 拖拽 游标显示及吸附

    QCustomPlot是一个自定义的QGraphicsView子类,它可以绘制各种类型的图表,如折线图、散点图、柱状图等。其设计目标是提供灵活且高效的图形接口,以便开发者能够方便地进行数据可视化。 实现鼠标框选功能,我们通常...

    金松数据库管理工具 3.0

    当然了,功能目前只局限于执行sql上,以后会扩充到,更强大全面的数据库管理工具。 【乙】软件功能 『子』支持数据导出 语法格式: export c:\test.txt; select * from table 后面跟随的所有 sql语句都将生成...

    金松WEB超级数据库工具 V2.5

    当然了,功能目前只局限于执行sql上,以后会扩充到,更强大全面的数据库管理工具。 【乙】软件功能 『子』支持数据导出 语法格式: export c:\test.txt; select * from table 后面跟随的所有 sql语句都将生成insert...

    一年ios开发的工作总结笔记

    - `CGRectInset`: 创建一个新的矩形,该矩形相对于原矩形缩小或扩大,但保持相同的中心点。 - `CGRectIntersectsRect`: 检查两个矩形是否相交。 ##### 3. 设置视图的透明度与背景色 - **知识点**: 可以通过 `...

    基于ssm+vue的在线听书网站.zip

    在本项目中,可能有一个微信小程序版本,让用户在微信内可以直接浏览和听书,扩大了应用的覆盖范围。 这个项目的文件列表"基于ssm+vue的在线听书网站"可能包含了以下内容:源代码(Java、HTML、CSS、JavaScript)、...

    视图可触摸区域的库

    例如,设计一个按钮,我们希望即使用户的手指没有直接落在按钮上,只要在按钮周围一定范围内点击,按钮也能响应。"视图可触摸区域的库",如"ExtendedTouchView",就是为了满足这样的需求而存在的。 ...

    Visual C++ 6.0开发指南第二章

    Visual C++ 6.0 提供了丰富的文件创建选项,这不仅增强了其灵活性,还扩大了开发者的选择范围。无论是创建简单的文本文件还是复杂的 MFC 应用程序,都能轻松实现。这对于初学者和经验丰富的开发者来说都是极其有价值...

    使用Flex框架开发WebGame

    8. **Integration with Flash Player**:Flex编译的SWF文件可以在Flash Player中运行,这意味着Flex开发的游戏可以覆盖到大量已经安装Flash Player的浏览器,扩大了游戏的受众范围。 9. **优化和性能**:在开发...

    汽修、4S店等汽车行业做活动分享使用,H5单页活动源码,带后台

    此外,考虑到社交媒体的影响力,源码集成了微信H5活动分享功能,使得用户可以方便地将活动信息分享到微信朋友圈或聊天群,从而扩大活动的覆盖范围,吸引更多的潜在客户。 文件名为"car_activity"的压缩包中,可能...

Global site tag (gtag.js) - Google Analytics