美文网首页
Android获取某个控件高度的坑

Android获取某个控件高度的坑

作者: 小婷android | 来源:发表于2018-05-24 16:09 被阅读0次
问题:在代码中动态获取某个控件的宽或者高,如果仅仅是在代码中通过getHeight()或者getWidth(),得到的值是0;
解决:通过ViewTreeObserver的addOnGlobalLayoutListener()监听中获取宽或者高
 ViewTreeObserver vto = ll_dtk.getViewTreeObserver();
        vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                ll_dtk.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ll_first.getLayoutParams());
                if (isFirst) {
                    lp.setMargins(0, 0, 0, ll_dtk.getHeight()*2);
                }else{
                    lp.setMargins(0, 0, 0, ll_dtk.getHeight());
                }
                ll_first.setLayoutParams(lp);
            }
        });

相关文章

网友评论

      本文标题:Android获取某个控件高度的坑

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