Android开发Android

Android开发中NestedScrollView默认位置不是

2018-11-02  本文已影响219人  刀鱼z
BWS6F$R5_%7N%FGH`B~{(OO.png

如图,上面是一个 recyclerView,下面也是一个recycleview,,往上滑动的时候,上面整体上滑,所以外面用一层NestedScrollView包裹,解决掉滑动冲突,为了让顺滑流畅

      mRecycleView.setNestedScrollingEnable(false);

原因:

RecycleView构造方法中获取焦点: 看摘取的最后一行

    public RecyclerView(Context context, @Nullable AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    if (attrs != null) {
        TypedArray a = context.obtainStyledAttributes(attrs, CLIP_TO_PADDING_ATTR, defStyle, 0);
        mClipToPadding = a.getBoolean(0, true);
        a.recycle();
    } else {
        mClipToPadding = true;
    }
    setScrollContainer(true);
    setFocusableInTouchMode(true);

解决方案:

1.在NestedScrollView根节点添加
android:focusableInTouchMode="true"
android:descendantFocusability="blocksDescendants"
android:fillViewport="true"
2.RecyclerView设置,专家风采是一个textview,如果不设置,那么专家风采就看不见

        mRecycleView.setFocusable(false);

或者设置专家风采textview获取焦点

上一篇 下一篇

猜你喜欢

热点阅读