zoukankan      html  css  js  c++  java
  • [Android学习笔记]获取view的尺寸和坐标

    对于UI方面很多时候需要获取它的很多信息,具体情况见view的文档

    View文档

    http://developer.android.com/training/index.html


    常用方法:
    获取view的宽高
    getWidth()
    getHeight()

    获取当前view相对于[父元素]坐标系的原点.
    此点对于当前view而言,是它的左上角点在父元素坐标系中的坐标
    getX()
    getY()

    获取当前view相对于[父元素]坐标系的几个值
    getLeft()
    getTop()
    getRight()
    getBottom()

    他们获取到的数据与layout(l,t,r,b)方法中的l,t,r,b一致

    注意:以上获取到的数据的单位都是像素px


    onCreate方法中获取view的尺寸,坐标信息

    onCreate中可获得控件的引用,但是无法获取到控件的尺寸,坐标等信息,因为此时控件尚未被绘制所以无法得到这些信息,
    如果实在需要view的尺寸和坐标,可以使用以下方法:

    btn = (Button)findViewById(R.id.btn);
            ViewTreeObserver vto = btn.getViewTreeObserver();
            vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener()
            {
                public boolean onPreDraw()
                {
                    if (hasMeasured == false)
                    {
                        // 获取btn的宽高 
                        int height = btn.getMeasuredHeight();
                        int width = btn.getMeasuredWidth();
                        Log.d("test","" + btn.getWidth() +" height:" + btn.getHeight());
                        
                        // 获取btn的坐标信息
                        Log.d("test",
                                " getWidth():" + btn.getWidth() +
                                " getHeight():" + btn.getHeight()+
                                " getLeft():" + btn.getLeft() + 
                                " getRight():" + btn.getRight() + 
                                " getTop():"+btn.getTop() + 
                                " getBottom():" + btn.getBottom() +
                                " getX():" + btn.getX() + 
                                " getY():" + btn.getY());
                        
                        // 设置标志
                        hasMeasured = true;
                    }
                    
                    return true;
                }
            });
    get view info
    人生就是一局不能Again的DOTA
  • 相关阅读:
    CSS的应用
    关于新手html的认识 以及对table的基本用法
    javascript的使用方法
    CSS的使用方式和选择器的用法
    html基础知识点
    前端课堂第四课
    前端课堂第三课
    前端实训第二课
    前端实训随笔
    JS02
  • 原文地址:https://www.cnblogs.com/hellenism/p/3679575.html
Copyright © 2011-2022 走看看