码迷,mamicode.com
首页 > 其他好文 > 详细

activity 中获取控件的宽高

时间:2017-12-25 13:32:33      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:高度   create   hello   ext   awl   style   mes   you   red   

1.第一种方式:

TextView textview3 = findViewById(R.id.textview3); 
textView3.post(new Runnable() {
            @Override
            public void run () {
                int width = textView3.getWidth();
                ViewGroup.LayoutParams layoutParams = button2.getLayoutParams();
                layoutParams.width = width;
                button2.setLayoutParams(layoutParams);
            }
        });

view的post方法,runnable对象中的方法会在View的measure、layout等事件后触发UI事件队列会按顺序处理事件。在setContentView()被调用后,事件队列中会包含一个要求重新layout的message,所以任何你post到队列中的东西都会在Layout发生变化后执行。

activity中先这行oncreate,然后才是第一次调用onmeasure,

2.第二种方式,同过treeobserve

firstTxt = (TextView) findViewById(R.id.hello_word_txt);  
        ViewTreeObserver viewTreeObserver = firstTxt.getViewTreeObserver();  
        viewTreeObserver.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {  
            @Override  
            public boolean onPreDraw() {  
                int height = firstTxt.getHeight();  
                int width = firstTxt.getWidth();  
                Log.v("获取TextView宽高", "宽度:" + width + ",高度:" + height);  
                return true;  
            }  
        });  
  

 

activity 中获取控件的宽高

标签:高度   create   hello   ext   awl   style   mes   you   red   

原文地址:http://www.cnblogs.com/hechangshou/p/8108763.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!