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变大

猜你喜欢

转载自blog.csdn.net/u011046184/article/details/89553820