//1.开启视图树监听
recycleView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
//2.视图绘制完毕,取出第一个item
View view = recyclerView.getChildAt(0);
//3.注销监听
recyclerView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
//4. do something with the first itemview...
}
});
getLayoutManager.findViewByPosition(...) 呼叫時機不對
使用視圖樹監聽來取得對應控製或屬性:
樓上使用視圖樹監聽的方法是可以的。使用getViewTreeObserver().addOnGlobalLayoutListener()來獲得View最後的寬度或高度,getViewTreeObserver().addOnDrawListener來監聽View的重繪,這是比較常用的 方法