ScrollView悬停布局实现技巧

ScrollView 里的悬停布局,挺实用的一个小技巧。适合做导航条、提示条那种需要“钉”在上面的 UI。ScrollView 本身其实不直接支持悬停,但你可以配合AppBarLayoutCollapsingToolbarLayoutNestedScrollView这些组件,效果就出来了。简单说,就是滚动到一定位置时,把你想固定的视图“搬”到顶部,响应也快,用户体验也好。

ScrollView 的滚动逻辑你得先搞清楚,不然动不动就偏了位,或者卡顿。可以通过重写onScrollChanged()来监听滚动,还可以加个OnScrollChangeListener,多种方式配合着用,灵活一点比较稳。

想偷个懒的朋友,也可以直接用第三方库,比如android-uiview-animator或者smoothscrollview,效果还不错,省事不少。如果你 UI 结构比较复杂,那就建议自定义个 ViewGroup 控制得更细一些,动画过渡、位置固定都能自己把控。

对了,还有个小建议:频繁监听滚动容易掉帧,性能是个坑。可以配合ViewTreeObserveronGlobalLayoutListener,只在关键时刻动手,体验更流畅。

如果你页面上需要多个悬停视图,最好维护个列表,分别每个的滚动和停靠状态,别一锅炖,会乱套。想学点高级玩法?可以搭配CoordinatorLayout和自定义Behavior,花样更多,手感更棒。

如果你正想优化页面的交互体验,ScrollView 的悬停布局绝对是个值得一试的方向,简单、实用、用户感知强,动手试试就知道啦!

rar
stayTilescollview(title的悬停).rar 预估大小:45个文件
folder
stayTilescollview 文件夹
file
.project 853B
file
project.properties 563B
folder
src 文件夹
folder
com 文件夹
folder
stay 文件夹
folder
test 文件夹
file
StayScrollView.java 949B
file
MainActivity.java 2KB
file
AndroidManifest.xml 790B
folder
res 文件夹
folder
drawable-ldpi 文件夹
file
ic_launcher.png 1KB
folder
drawable-hdpi 文件夹
file
ic_launcher.png 3KB
file
ic_action_search.png 3KB
file
stay.jpg 63KB
folder
drawable-mdpi 文件夹
file
ic_launcher.png 2KB
file
ic_action_search.png 3KB
folder
layout 文件夹
file
main.xml 6KB
folder
drawable-xhdpi 文件夹
file
ic_launcher.png 4KB
file
ic_action_search.png 3KB
folder
values 文件夹
file
strings.xml 253B
file
styles.xml 89B
folder
assets 文件夹
folder
gen 文件夹
folder
com 文件夹
folder
stay 文件夹
folder
test 文件夹
file
BuildConfig.java 155B
file
R.java 1KB
folder
libs 文件夹
file
android-support-v4.jar 341KB
file
.classpath 364B
file
proguard-project.txt 781B
file
ic_launcher-web.png 36KB
folder
bin 文件夹
file
resources.ap_ 85KB
folder
classes 文件夹
folder
com 文件夹
folder
stay 文件夹
folder
test 文件夹
file
R$layout.class 379B
file
R$style.class 380B
file
BuildConfig.class 335B
file
R$drawable.class 460B
file
R$attr.class 325B
file
StayScrollView.class 1KB
file
StayScrollView$OnScrollLisener.class 251B
file
R$id.class 451B
file
R.class 539B
file
R$string.class 498B
file
MainActivity$1.class 2KB
file
MainActivity.class 2KB
file
AndroidManifest.xml 790B
folder
res 文件夹
folder
drawable-ldpi 文件夹
file
ic_launcher.png 2KB
folder
drawable-hdpi 文件夹
file
ic_launcher.png 4KB
file
ic_action_search.png 409B
folder
drawable-mdpi 文件夹
file
ic_launcher.png 3KB
file
ic_action_search.png 311B
folder
drawable-xhdpi 文件夹
file
ic_launcher.png 5KB
file
ic_action_search.png 491B
file
classes.dex 321KB
file
stayTilescollview.apk 220KB
...
rar 文件大小:857.92KB