RecyclerView横向滚动并优化UI

有时候需要横向滚动的列表,带给用户更佳的UI效果.比如下面这种:

这个时候我们在展示第一个item的同时也需要展示第二个item,那么可以看到
图中第二个item只展示了一点点头.其实就是动态设置每个item的宽度和padding

具体代码看下面

class HotSortCommonAdapter(sortDataList: MutableList<HotSortBean.Item>?) :
        BaseQuickAdapter<HotSortBean.Item, BaseViewHolder>(R.layout.video_item_home_video_card,
                sortDataList) {

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseViewHolder? {
        val baseViewHolder = super.onCreateViewHolder(parent, viewType)
        baseViewHolder?.itemView?.let {
            val layoutParams = it.layoutParams as RecyclerView.LayoutParams
            //item宽度设置窄一点(稍微比屏幕宽度窄一点,这样用户才知道那里是可以进行左右滑动的)
            layoutParams.width = DevicesUtils.devicesSize.widthPixels -
                    DensityUtil.dip2px(it.context, 20f)

            //设置paddingEnd 为5dp
            it.setPadding(0, 0, DensityUtil.dip2px(it.context, 5f), 0)

            it.layoutParams = layoutParams
        }
        return baseViewHolder
    }

    override fun convert(holder: BaseViewHolder, item: HotSortBean.Item?) {
        //...
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值