Android RecyclerView 点击Item Item变大的效果

要求功能列表的Item点击后(即选中后)要变大(像智能电视选中那样)。突出选中效果。

一开始打算用动态布局来实现。尝试了一番,不行。没有效果。

随即Google,百度一顿操作,发现基本全是自定义View实现的。几百行代码几百行代码的一顿猛操作。99%都是做TV上的应用。罗里吧嗦一大堆,逛了一圈没有合适的轮子,直接pass。

还有个是继承所需要放大缩小的控件重写方法

https://www.jianshu.com/p/7b20eb0f1730 他这个似乎是做智能电视类型的APP,是取到焦点放大,失焦缩小,我改成了点击,试了下没用,没效果。做智能电视APP的可以试下;

本打算自己重写个View来实现。

突然想到有个属性  setScaleX  可以设置缩放比例;放大我直接按倍数set不就行了?立马写了Demo发现果然ojbk。

代码很简单,按照常规的recyclerView和其Adapter的使用方法创建视图即可。

注意

父布局要加上 clipChildren="false" 不剪切溢出的子视图。一定要加,不然会出现放大被遮挡的BUG;

放大缩小核心代码 写在适配器里

if (getItem() == i) {
            //1.1为原来的大小+1的0.1倍放大
            my.itemView.findViewById(R.id.speed_view).setScaleX(1.3f);
            my.itemView.findViewById(R.id.speed_view).setScaleY(1.3f);
        } else {
            //缩小同理   1为布局设定的大小
            my.itemView.findViewById(R.id.speed_view).setScaleX(1f);
            my.itemView.findViewById(R.id.speed_view).setScaleY(1f);
        }

Demo地址:https://github.com/zhuangguangkang0013/item.git

限速云地址:https://pan.baidu.com/s/1a1PE_n2vLvsjQFqjUEMa4w  提取码:hz04

CSDN地址:https://download.csdn.net/download/u011046184/11146644

效果图: 点击Item  item变大

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值