自定义带轮播功能菜单的view


今日科技快讯

6月13日,据VentureBeat报道,电动汽车制造商特斯拉正在裁汰数千个工作岗位,以降低成本,实现盈利,同时承诺不会影响Model 3轿车的产量。伊隆·马斯克(Elon Musk)周二在发给员工的电子邮件中表示,特斯拉上个月曾承诺,要扁平化特斯拉的管理结构。他说:“作为这一努力的组成部分,以及降低成本和实现盈利的需要,我们做出了艰难的决定,要让公司里大约9%的同事离职。”

作者简介

本篇来自 DthFish 的投稿,分享了他实现的一个自定义 view,带轮播的菜单键,一起来看看!希望大家喜欢。

 DthFish  的博客地址:

https://www.jianshu.com/u/ea86fdbeb6c2

前言

好久没有写过文章了,借着前几天 UI 提出的一个“简单”的动画需求,写写自己实现的 EggacheDisplayView。哦!你没看错项目的名称就是这个,因为看到 UI 动效的时候就是这样的心情,至于标题咱只是想告诉大家这是一篇正经的文章。

原本想着改改动画就算了,结果写完之后发现把自定义 ViewGroup 该用的知识差不多都涉及到了,那么就写篇文章来一起复习一下自定义一个 ViewGroup 的流程。接下来看看我们要实现的效果,咱们就开始进入正题了。

先看看效果:

简单的分析

需求里的 menu item 其实没有像 demo 上显示的那样——都是同样类型的,事实上有直接添加在 xml 布局里面的,也有从接口请求下来之后再添加进去的。所以需要定义一个 ViewGroup,不管子 View 是啥样子的往里面添加就是。

ViewGroup 需要两种不同的布局方式:一种是展开时候的,看上去和 LinearLayout 一致;另一种是收起时候的,看上去像我们常用的 ViewPager 轮播一样。根据两种不同的模式,需要实现两种不同的测量和布局方式。

收起和展开按钮需要在 EggacheDisplayView 构造的时候动态添加进去。


微信扫一扫 分享到朋友圈
微口订阅号

关注订阅号

社交媒体运营经验交流
流量电商行业动态讨论

热点事件
微口订阅号

关注订阅号

社交媒体运营经验交流
流量电商行业动态讨论

阅读下一篇
微口订阅号

自媒体运营攻略
行业经验交流

关闭

创建藏点

藏点名称
藏点说明
藏点封面
转藏至我的藏点 +新建藏点
    关闭
    确定 取消