O problema de manter pressionado o botão esquerdo e direito ou o foco contínuo do botão saindo ao usar o RecyclerView no Android TV

O problema do foco desaparecer ao usar o pressionamento longo esquerdo e direito do RecyclerView ou o pressionamento contínuo de teclas no Android TV:
Substitua o método onInterceptFocusSearch do LinearLayoutManager:

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mContext){
    
    
            @Nullable
            @Override
            public View onInterceptFocusSearch(@NonNull View focused, int direction) {
    
    
                int count = getItemCount();
                int fromPos = getPosition(focused);
                int lastVisibleItemPos = findLastVisibleItemPosition();
                int spanCount = lastVisibleItemPos - fromPos;
                if (AppConfigurationUtils.isRtl && direction == View.FOCUS_RIGHT) {
    
    
                    direction = View.FOCUS_LEFT;
                } else if (AppConfigurationUtils.isRtl && direction == View.FOCUS_LEFT) {
    
    
                    direction = View.FOCUS_RIGHT;
                }
                switch (direction) {
    
    
                    case View.FOCUS_RIGHT:
                        fromPos++;
                        break;
                    case View.FOCUS_LEFT:
                        fromPos--;
                        break;
                }
                if (fromPos < 0 || fromPos >= count) {
    
    
                    return focused;
                } else {
    
    
                    if (fromPos > lastVisibleItemPos) {
    
    
                        scrollToPosition(fromPos);
                    } else {
    
    
                        int pos = lastVisibleItemPos - spanCount > 0 ? lastVisibleItemPos - spanCount : 0;
                        scrollToPosition(pos);
                    }
                }
                return super.onInterceptFocusSearch(focused, direction);
            }
        };```

Acho que você gosta

Origin blog.csdn.net/lb687/article/details/130891526
Recomendado
Clasificación