0
点赞
收藏
分享

微信扫一扫

幼儿园管理系统|基于springboot框架+ Mysql+Java+Tomcat的幼儿园管理系统设计与实现(可运行源码+数据库+设计文档+部署说明)

天际孤狼 03-18 19:30 阅读 3
android

1. 背景

最近项目中用到了上面的布局,于是使用了scrollview+recycleview,为了自适应高度,重写了recycleview,实现了高度自适应:

这也是通常将列表控件高度自适应的处理方法。

但是效果有点卡顿,表现为可以滑动,但没了滑动的惯性、每次滑动的距离几乎一样、不跟手。

2. 优化

开始从adapter上着手:

1. 优化了inflater初始化:放到了adapter构造方法中,比,避免每次调用view。inflate时都创建新的Layoutinflater

2. 优化了布局的渲染:根据item类型加载,如下

 @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        if (viewType == INDEX_TYPE_EVALUATE) {
            View evaluateView = mInflater.inflate(R.layout.index_group_adapter_layout_1, null);
            return new IndexGroupItemEvaluateHolder(evaluateView, INDEX_TYPE_EVALUATE);
        } else {
            View normalView = mInflater.inflate(R.layout.index_group_adapter_layout, null);
            return new IndexGroupItemNormalHolder(normalView, INDEX_TYPE_NORMAL);
        }
    }

3. 优化onBindViewHolder:不要在该方法中重复调用getItemViewType(position),因为recycle已经根据getItemViewType的结果为viewholder分配了类型。

效果并不理想,滑动依然不顺畅。

3.解决

在通过“文心一言”的帮助后,修改布局:将普通的scrollview改为nestedscrollview,恢复自定义的高度自适应的recycleview为普通recycleview

然后滑动丝滑流畅

举报

相关推荐

幼儿园信息管理系统

0 条评论