jjzjj

addOnLayoutChangeListener

全部标签

java - addOnLayoutChangeListener 和 onLayout(changed) 的区别?

我有课publicclassFancyViewextendsViewimplementsView.OnTouchListener{我需要获取View的高度/宽度。(它可能会随着设备旋转而改变。当然,高度/宽度在初始化时是未知的。)你可以这样做......所以,实际上在FancyView类中只是覆盖onLayout(changed)@OverrideprotectedvoidonLayout(booleanchanged,intleft,inttop,intright,intbottom){super.onLayout(changed,left,top,right,bottom);int

android - addOnLayoutChangeListener 与 addOnGlobalLayoutListener 与 post(Runnable r)

问题:假设我们有一个简单的案例:我们有View,我们必须在这个View上显示一些数据。我们使用静态方法showData(Viewview)来做到这一点。我想知道测量View布局的确切时间,我可以访问getWidth()getHeight()并确保这是我View的最终宽度和高度。我所知道的:(不确定我100%正确):我知道3种不同的方法来做到这一点view.addOnLayoutChangeListener-我们知道布局改变时,我们可以获取高度和宽度view.getViewTreeObserver().addOnGlobalLayoutListener-以我为例几乎相同,但我们稍后会获得