android 引导蒙层实现
ringa_lee
ringa_lee 2017-04-18 09:03:54
0
3
2622

页面结构:activity-fragment—recycleView
目标,整个页面蒙层,并在recycleView的第一个item上添加一个高亮提示。
现在我要获取这个item的view,在onResume中使用getLayoutManager.findViewByPosition方法得到的view为空。
我应该何时何地获取该view?

ringa_lee
ringa_lee

ringa_lee

全部回覆(3)
Ty80

getLayoutManager.findViewByPosition(...) 呼叫時機不對

getView().post(new Runnable() {
    View view = getLayoutManager.findViewByPosition(0);
    // TODO ...
});
大家讲道理

使用視圖樹監聽來取得對應控製或屬性:

//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...
    }
});
左手右手慢动作

樓上使用視圖樹監聽的方法是可以的。使用getViewTreeObserver().addOnGlobalLayoutListener()來獲得View最後的寬度或高度,getViewTreeObserver().addOnDrawListener來監聽View的重繪,這是比較常用的 方法

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板