• [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
  • 相关阅读:
    myeclipse codelive插件关闭
    php-memcache基本用法
    css3选择器笔记
    网卡配置/etc/network/interfaces
    javascript 调用cookies
    $_FILES详解
    http_build_query
    javascript写贪吃蛇游戏(20行代码!)
    php 中date显示时间不对与Linux文件乱码问题
    const && define
  • 原文地址:https://www.cnblogs.com/hellenism/p/3679575.html
Copyright © 2020-2023  润新知