Android开发中NestedScrollView默认位置不是
2018-11-02 本文已影响219人
刀鱼z
![](https://img.haomeiwen.com/i6693583/7e26c71471e14ee4.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获取焦点