相关疑难解决方法(0)

RecyclerView smoothScroll位于中心位置.安卓

我正在使用水平布局管理器RecyclerView.我需要以下RecyclerView一种方式制作:当点击某个项目时 - 将smoothScrool放到该位置并将该项目放在中心RecyclerView(如果可能的话,例如20中的10项).

所以,我没有问题smoothScrollToPosition(),但如何把项目放在RecyclerView??? 的中心?

谢谢!

android android-recyclerview linearlayoutmanager

24
推荐指数
3
解决办法
2万
查看次数

RecyclerView焦点滚动

我有一个RecyclerView,通常有两列,最多八列.我们使用了很多D-PAD导航.滚动时我们遇到问题,焦点项目将从左向右跳跃.看照片: 在此输入图像描述

我注意到,如果下一个出现的项目被缓存,滚动时没有焦点问题.我遇到的另一个问题是我的焦点项目可能出现在我的粘贴标题下方.这是不希望的.所以我觉得如果我滚动它就会有一个"阈值".这样,当焦点位于屏幕外的一个项目内时,它将滚动.这样,焦点永远不会位于最底层,也不会位于顶部.

考虑到这一点,我尝试了这种方法没有运气:

RecyclerView rv;

@Override
public void onFocusChange(View v, boolean hasFocus) {
    if(!v.hasFocus()) {
        Log.w(TAG, "View v did not have focus");
        return;
    }

    final int index = rv.getChildPosition(v); //adapter pos
    if(index == NO_POSITION) {
        Log.w(TAG, "Recycler view did not have view");
        return;
    }

    int position = rv.indexOfChild(v);  // layout pos
    int lastPos = rv.getChildCount();   // layout pos
    int span = getLayoutManager().getSpanCount();
    int threshold = 2 * span;
    Log.d(TAG, String.format("Position: %1$d. lastPos: %2$d. span: %3$d. threshold: %4$d", position, lastPos, span, …
Run Code Online (Sandbox Code Playgroud)

android focus android-recyclerview

5
推荐指数
1
解决办法
1万
查看次数

RecyclerView项目失去焦点

在我的火电视应用我使用的是recyclerviewhorizontal layout.

滚动与dpad工作和项目正在获得关注.

但是,当我按住按钮时,它会非常快速地滚动,因为许多keydown事件被触发,并且项目正在失去焦点而且不可能再滚动,因为Textview我的recyclerview上方的另一个正在获得焦点.

它看起来像一个bug.这有什么解决方法吗?

android android-recyclerview linearlayoutmanager

5
推荐指数
3
解决办法
3932
查看次数