在获取某些控件的getLeft()的值为0的原因是这个时候布局未完成,自然无法获取到,所以打印出的值为0
我们可以对该控件设置监听事件,当布局完成后,再来获取就可以获取到了
//布局完成的监听事件
llGuide.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
mPointWidth = llGuide.getChildAt(1).getLeft() - llGuide.getChildAt(0).getLeft();
System.out.println("mPointWidth" + mPointWidth);
llGuide.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});