文章來(lái)自:ProcessZ
鏈接:http://www.itdecent.cn/p/3e710a5ee50b
為了便于尋找,在此處收藏下
1、滑動(dòng)不流暢問(wèn)題
解決方法一:嵌套滑動(dòng)不激活。
mRecycleView.setNestedScrollingEnable(false);
解決辦法二:
LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);//
recyclerView.setNestedScrollingEnabled(false);//
layoutManager.setSmoothScrollbarEnabled(true);//
layoutManager.setAutoMeasureEnabled(true);//
2、當(dāng)NestedScrollView嵌套R(shí)ecycleView布局由Fragment管理,F(xiàn)ragment切換時(shí)會(huì)自動(dòng)滑動(dòng)到ReycleView的頂部。
解決方法一:在NestedScrollView唯一子布局中加入
android:descendantFocusability=“blocksDescendants”
android:descendantFocusability 有三個(gè)屬性:
優(yōu)先于子控件獲取焦點(diǎn) “beforeDescendants"
當(dāng)子控件不需要焦點(diǎn)時(shí),獲取焦點(diǎn) ”afterDescendants“
覆蓋所有子控件獲取焦點(diǎn) ”blocksDescendants“
解決方法二:
recyclerView.setFocusable(false);
3、ScrollView中的布局不能撐滿全屏問(wèn)題
必須ScrollView設(shè)置:
android:fillViewport="true"
4、一個(gè)布局,內(nèi)容很長(zhǎng),里面加了scrollview會(huì)自動(dòng)滾動(dòng)到底部的問(wèn)題。查了下資料
,找到scrollview里的其中一個(gè)子控件,設(shè)置以下代碼即可。
mIvAvatar.setFocusable(true);
mIvAvatar.setFocusableInTouchMode(true);
mIvAvatar.requestFocus();
5、android scrollview 自動(dòng)滾動(dòng)到頂部或者底部
//設(shè)置默認(rèn)滾動(dòng)到頂部
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_UP);
}
});
//設(shè)置默認(rèn)滾動(dòng)到底部
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});
還有一種方法,就是在scrollview里面的第一個(gè)控件,設(shè)置
android:focusable="true"
android:focusableInTouchMode="true"