android开发之view宽和高的获取

作者: zzj丶 | 来源:发表于2016-11-11 13:15 被阅读72次

    在最近项目中,想要获取view控件的大小,通过view.getHeight和view.getWidth,怎么获取都是null。

      如何在绘制组件之前能获取到该组件的尺寸大小呢?
    

    一、

    /** 
    * 获取的控件的高宽
     * @param view 
    */
            ViewTreeObserver vto = view.getViewTreeObserver();   
                    vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {     
                 @Override      
                  public void onGlobalLayout() {        
                          view.getViewTreeObserver().removeGlobalOnLayoutListener(this);        
                                  view.getHeight();         
                                  view.getWidth();   
       }  
     });
    
    

    二、

    /** * 获取控件的高 
    * @param view 
    * @return    
    */
    public static int getViewHeight(View view){   view.measure(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT); 
            view.getMeasuredHeight();//高度  
            view.getMeasuredWidth();//宽度   
            return view.getMeasuredHeight();}
    

    此方法可在activity中通过返回值获取。

    相关文章

      网友评论

        本文标题:android开发之view宽和高的获取

        本文链接:https://www.haomeiwen.com/subject/xdnzuttx.html