1、滑动不流畅
解决方法一:嵌套滑动不激活。
mRecycleView.setNestedScrollingEnable(false);
解决办法二:
LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);//
recyclerView.setNestedScrollingEnabled(false);//
layoutManager.setSmoothScrollbarEnabled(true);//
layoutManager.setAutoMeasureEnabled(true);//
2、当NestedScrollView嵌套RecycleView布局由Fragment管理,Fragment切换时会自动滑动到ReycleView的顶部。
解决方法一:在NestedScrollView唯一子布局中加入 android:descendantFocusability=“blocksDescendants”
android:descendantFocusability 有三个属性:
优先于子控件获取焦点 “beforeDescendants"
当子控件不需要焦点时,获取焦点 ”afterDescendants“
覆盖所有子控件获取焦点 ”blocksDescendants“
解决方法二:
recyclerView.setFocusable(false);
3、ScrollView中的布局不能撑满全屏
必须ScrollView设置:
android:fillViewport="true"
4、一个布局,内容很长,里面加了scrollview会自动滚动到底部的问题。查了下资料
,找到scrollview里的其中一个子控件,设置以下代码即可。
mIvAvatar.setFocusable(true);
mIvAvatar.setFocusableInTouchMode(true);
mIvAvatar.requestFocus();
5、android scrollview 自动滚动到顶部或者底部
//设置默认滚动到顶部
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_UP);
}
});
//设置默认滚动到底部
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});
还有一种方法,就是在scrollview里面的第一个控件,设置
android:focusable="true"
android:focusableInTouchMode="true"
网友评论