本人安卓小白,写项目的时候碰到一个问题:我的内容长度超出页面了,剩余部分无法显示,如果使页面可以上下滑动,我只需要页面下半部分能够滑动,页面上半部分保持不动,也就是嵌套滑动。
由此我找到一个合适的控件——NestedScrollView,用它包住我需要滑动的那一部分,就可实现我预想的效果。
NestedScrollView有两个注意点:
1、它和ScrollView一样内部只能容纳一个子控件,而我要滑动的部分包括两个子控件,所以我又加了一个LinearLayout去包住它们。
2、NestedScrollView的头尾要确定好。
这是我后面遇到的一个bug——虽然用了NestedScrollView,但是页面还是固定的无法滑动,结果是少写了一行代码……
因为我整体页面布局使用ConstraintLayout,所以对子控件有约束,但是在NestedScrollView下我只写了两个约束:
app:layout_constraintTop_toBottomOf="@id/profile_data"
app:layout_constraintStart_toStartOf="parent"
即顶部约束和起始约束。
后面找了各种属性含义,调试了半天,结果是少加了底部约束:
app:layout_constraintBottom_toBottomOf="parent"
加完就能正常滑动了。