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

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

ringa_lee
ringa_lee

ringa_lee

membalas semua(3)
Ty80

getLayoutManager.findViewByPosition(...) dipanggil pada masa yang salah

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

Gunakan mendengar pokok paparan untuk mendapatkan kawalan atau sifat yang sepadan:

//1 Hidupkan pemantauan pepohon
recycleView.getViewTreeObserver().addOnGlobalLayoutListener(New ViewTreeObserver.OnGlobalLayoutListener() {

    @Override
    public void onGlobalLayout() {
        //2. Selepas paparan dilukis, keluarkan item pertama
        Lihat paparan = recyclerView.getChildAt(0);
        //3.Pemantauan Log keluar
        recyclerView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
        //4. lakukan sesuatu dengan paparan item pertama...
    }
});
左手右手慢动作

Adalah mungkin untuk menggunakan kaedah pemantauan pokok pandangan di tingkat atas. Gunakan getViewTreeObserver().addOnGlobalLayoutListener() untuk mendapatkan lebar atau ketinggian akhir View dan getViewTreeObserver().addOnDrawListener untuk memantau lukisan semula View Ini ialah kaedah biasa

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan