CoordinatorLayout 嵌套 AppBarLayout RecyclerView ,通过代码控制,使得CoordinatorLayout 自动滑动到tab置顶的位置...

本文介绍了三种调整Android中AppBarLayout间距与状态的方法。第一种是通过调用AppBarLayout并设置其行为来调整间距;第二种是使用现有API直接改变AppBarLayout的展开状态;第三种涉及滑动到列表顶部并停止RecyclerView的滚动,确保AppBarLayout正确响应触摸事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有两个方式可以实现

一:调用AppBarLayout,设置间距

val behavior = (appbar_layout.getLayoutParams() as CoordinatorLayout.LayoutParams).getBehavior()
        if (behavior is AppBarLayout.Behavior) {
            var appBarLayoutBehavior = behavior
            var topAndBottomOffset = appBarLayoutBehavior.topAndBottomOffset;
            if (topAndBottomOffset <= 0) {
                appBarLayoutBehavior.topAndBottomOffset = - layout_root.y.toInt()
            }
        }

二:调用现有的api

appbar_layout.setExpanded(false)

 方法二更方便更好

三:

滑动到顶部

        appbar_layout.setExpanded(true)
        recycler_view.stopScroll()
        recycler_view.scrollToPosition(0)

必须加入

recycler_view的滚动,不然appbar滚到到顶部后无法下拉

 

转载于:https://www.cnblogs.com/haihai88/p/10788634.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值