[Android错误及解决方案]RecyclerView中的item布局右侧出现大片空白(item宽高失效)

参考文章RecyclerView Item 布局宽高无效问题探究
通过对比,发现宽高失效与不失效的区别在与Adapter中创建ViewHolder是加载布局的方式不同:
LayoutInflater.from(parent.getContext()).inflate(R.layout.inflate_test_item,null)
以上这种加载方式Item宽高失效。
LayoutInflater.from(parent.getContext()).inflate(R.layout.inflate_test_item,parent,false)
以上这种方式加载布局item不会出现宽高失效。

如果使用第一个布局加载方式,会使用系统默认布局参数(线性布局)

LinearLayoutManager
 /**
     * {@inheritDoc}
     */
    @Override
    public LayoutParams generateDefaultLayoutParams() {
        return new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);
    }

默认全是wrap_content

如果使用第二种布局加载方式,会使用parent的参数来加载布局参数

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。