工作上遇到了在自定义view中,根据textview的长度来绘制另一个view的长度,由于textview是被包裹在RelativeLayout里(RelativeLayout里面还有另一个view),而这个RelativeLayout又被包裹在LinearLayout里...
LinearLayout有个getChildAt()的方法获取到按顺序LinearLayout.addView()的view中,然后根据添加到RelativeLayout中textview的id获取到相应的textview...
问题来了当我用取得的textview.getLeft()的时候,怎么每一个textview的Left大小都相差无几,原来这个textview.getLeft():Right position of this view relative to its parent.
是相对于它的父view,也就是包裹Textview的RelativeLayout...我要取的是textview在屏幕上的位置...
解决方法:
float left=relativeLayout.getLeft()+textview.getLeft();
把RelativeLayout的位置加上textview的位置,搞定!!!