public  void getHitRect(Rect outRect)                  
Added in API level 1
Hit rectangle in parent's coordinates:找到控件占据的矩形区域的矩形坐标
Parameters
outRect: The hit rectangle of the view:控件占据的矩形区域

测试代码如下,根据代码可以很直观的知道这个函数的用法:
package com.sean.gethitrecttest;

import android.app.Activity;
import android.graphics.Rect;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

private TextView mTextView;
    private Button mButton;
    Rect Trect = new Rect();
    Rect Brect = new Rect();

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

mTextView = (TextView) this.findViewById(R.id.TextView01);
        mButton = (Button) this.findViewById(R.id.Button01);
        mButton.setOnClickListener(new OnClickListener() {

@Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

mTextView.getHitRect(Trect);
                mButton.getHitRect(Brect);
                Log.d("Lichking",
                        "---------TextView_left-------"
                                + String.valueOf(Trect.left));
                Log.d("Lichking",
                        "---------TextView_top-------"
                                + String.valueOf(Trect.top));
                Log.d("Lichking",
                        "---------TextView_right-------"
                                + String.valueOf(Trect.right));
                Log.d("Lichking",
                        "---------TextView_bottom-------"
                                + String.valueOf(Trect.bottom));

Log.d("Lichking",
                        "---------Button_left-------"
                                + String.valueOf(Brect.left));
                Log.d("Lichking",
                        "---------Button_top-------"
                                + String.valueOf(Brect.top));
                Log.d("Lichking",
                        "---------Button_right-------"
                                + String.valueOf(Brect.right));
                Log.d("Lichking",
                        "---------Button_bottom-------"
                                + String.valueOf(Brect.bottom));

}
        });

}
}
布局图如下:只有居中的线性排列的一个TextView和一个Button

使用mTextView.getHitRect      (TRect)和mButton.getHitRect(BRect)调用这个函数之后,Trect和Brect就指图中的紫色和灰色矩形对象。
查看log如下:

从中我们知道了紫色TextView所占据矩形的第二象限顶点和第四象限顶点坐标为(247,373)和(293,405)
灰色Button所占据矩形的第二象限顶点和第四象限顶点坐标为(222,405)和(318,477)。

一个应用:判断是否点击到该控件上
boolean isHit = Trect.contains((int)event.getX(), (int)event.getY());

getHitRect获取点击控件的位置的更多相关文章

  1. jquery获取点击控件的绝对位置简单实例

    在使用jquery的过程中,想取得当前点击input的绝对位置而去显示一个div,jquery本身提供offset和position这个两个方法,但position官方解释是relative to t ...

  2. VC++ MFC获取对话框上控件的位置

    CRect rect; GetDlgItem(控件ID)->GetWindowRect(&rect);//获取控件的屏幕坐标 ScreenToClient(&rect);//转换 ...

  3. javascript控制滚动条的位置,获取控件的位置

    一.如下是定位鼠标在视窗中的位置,先定位视窗和页面直接的距离. function getMousePoint() { var point = {x:0,y:0}; // 如果浏览器支持 pageYOf ...

  4. silverlight——获取控件相对位置

    事出有因:页面中存在滚动条,然后点击页面按钮时会进行正确性检查,如果出错在控件的位置会出现提示信息,但由于滚动条的出现,有可能在非可视区域内的控件出了问题,但目前是看不见的,因此,考虑获得出问题控件的 ...

  5. WPF获取某控件的位置,也就是偏移量

    原文:WPF获取某控件的位置,也就是偏移量 此段示例在MSDN中可见.XAML代码如下: <Window xmlns="http://schemas.microsoft.com/win ...

  6. WPF控件相对位置解析

    WPF控件相对位置的获取方法是比较简单的.对于初学者来说,掌握这一技巧的应用,可以帮助以后对WPF的深入学习,而且在实际使用中,这是一个非常常用的方法. 我们知道WPF有着比较灵活的布局方式,关于某个 ...

  7. [ASP.NET] 解决点击控件下载文件没有响应的问题

    下载文件的方法是使用http响应输出流来实现的,使用到了response.write() 导致下载文件时点击控件出错,没有响应,也获取不了文件 是因为在母版页使用了updatepanel,因此回传时发 ...

  8. C#winform调整控件的位置

    现在有三个控件并排放置 第二个控件有隐藏功能 隐藏后第一个控件和第三个控件的距离要缩小,于是就要改变第三个控件的位置 尝试用Location.X属性去设置,但是被告知此非变量 于是只能另外想办法 搜到 ...

  9. WPF 获得鼠标相对于屏幕的位置,相对于控件的位置

    相对于屏幕的位置 第一步: /// <summary>    /// 用于获得鼠标相对于屏幕的位置    /// </summary>    public class Win3 ...

随机推荐

  1. uiwebview和 js交互框架

    WebViewJavascriptBridge

  2. HDU1435,好开心,稳定婚姻

    费了三天,终于解决了各种BUG,PASS,好开心,这才是ACM真正的快乐,就在AC的那刻, 网上基本没甚程序,开始被各种变量名搞晕,无语!!! 有几个题目没说的东西:认为序号是1-N, 然后先排序,弄 ...

  3. 17+个ASP.NET MVC扩展点,含源码{转}

    1.自定义一个HttpModule,并将其中的方法添加到HttpApplication相应的事件中!即:创建一个实现了IHttpmodule接口的类,并将配置WebConfig.在自定义的HttpMo ...

  4. iOS网络检测

    使用之前请从Apple网站下载示例:点此下载 Reachability 中定义了3种网络状态: typedef enum : NSInteger { NotReachable = ,//无网络 Rea ...

  5. swift-网络请求

    跟着网上大神写了个,还有待提高啊:http://pan.baidu.com/s/1sjC5Pl7

  6. Javascript 正则表达式_3

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  7. .Net知识点总结(一)

    1.文件上传:Jquery.uploadify  它依赖于flash  舍去起上传   功能  改用SWFupload  他是第三方的插件 2.验证码激活的时候,邮箱开始是写死的,但是为了以后更改邮箱 ...

  8. 创建MySQL存储过程示例

    创建MySQL存储过程是学习MySQL数据库必须要掌握的知识,下文对创建MySQL存储过程作了详细的介绍,供您参考学习. AD:2013大数据全球技术峰会课程PPT下载 下文将教您如何创建MySQL存 ...

  9. ExtJs布局之tabPanel

    <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...

  10. (转)android ListView详解

    转自:  http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html 在android开发中ListView是比较常用的组件,它以列表的形 ...