今天使用CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+RecyclerView实现折叠布局出现RecyclerView最后一条数据显示不全问题,问题如下图:

找了很多方法最后发现是app:layout_behavior="@string/appbar_scrolling_view_behavior"的问题,是因为在顶部toolbar未折叠情况下,下方RecyclerView或者其他布局无法显示到最后一项。如果想要在未折叠情况下显示到最后一项,需要使用自定义的behavior,代码如下:

public class FixScrollingBehavior extends AppBarLayout.ScrollingViewBehavior {    private AppBarLayout appBarLayout;    public FixScrollingBehavior() {        super();    }    public FixScrollingBehavior(Context context, AttributeSet attrs) {        super(context, attrs);    }    @Override    public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {        if (appBarLayout == null) {            appBarLayout = (AppBarLayout) dependency;        }        final boolean result = super.onDependentViewChanged(parent, child, dependency);        final int bottomPadding = calculateBottomPadding(appBarLayout);        final boolean paddingChanged = bottomPadding != child.getPaddingBottom();        if (paddingChanged) {            child.setPadding(                    child.getPaddingLeft(),                    child.getPaddingTop(),                    child.getPaddingRight(),                    bottomPadding);            child.requestLayout();        }        return paddingChanged || result;    }    private int calculateBottomPadding(AppBarLayout dependency) {        final int totalScrollRange = dependency.getTotalScrollRange();        return totalScrollRange + dependency.getTop();    }}

xml中替换app:layout_behavior="@string/appbar_scrolling_view_behavior"属性为如下:

app:layout_behavior="com.xx.xx.ui.widget.FixScrollingBehavior"

就能解决最后一条显示不全问题,解决后如图:

参考文章:https://www.jianshu.com/p/bc56afbd88f2

希望能解决你的问题^ - ^

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 强烈推荐:Android完全自学从零开始
  3. Android-显示传感器的值
  4. android界面设计(一)侧边栏的两种实现方式
  5. IDEA 快捷键 Android(安卓)Studio快捷键
  6. TextView设置中文粗体
  7. 全局参数
  8. Android_UI_全屏去掉标题栏和状态栏的两种方法
  9. Android(安卓)自带的系统分享功能

随机推荐

  1. 开源项目之Android Ecclesia(短信应用)
  2. android开源代码编译方法
  3. Android Studio如何允许访问网络资源
  4. Android中使用HorizontalScrollView横向
  5. Android(安卓)Service解析
  6. ionic android打签名包 ionic build andr
  7. Android Studio 批量打包,apk重命名
  8. android “Debug certificate expired”&
  9. Android学习笔记(3):Android项目结构分析
  10. Android 图片压缩实现过程代码