自己写了一个Andorid TV端动画实例,主要是仿优酷酷喵里的下拉弹窗的效果,如下图:
这里把弹框写成了一个弹出的dialog,把dialog的背景设成黑色半透明,然后在activity中监听下键弹出dialog,然后在第一行里监听上键消失dialog
其中最关键的就是几个地方:
-
在dialog里监听每次的上/下键,然后根据回调传过来的currentIndex知道是当前在哪一行按下的,执行对应的消失/显示动画
根据我们的业务需求,在对应的每一行的view里去设置显示的动画。(这里是仿照酷喵里的显示逻辑去写的)
这里我把每一行的view分成了两部分:一部分是标题,另一部分是底部显示的内容(可以是子view,也可以是一个recyclerView)。然后动画也是根据这两部分分成了4种:标题显示动画、标题消失动画、内容显示动画、内容消失动画。用了属性动画去更新我们控件的高度,从而达到显示的效果
(大概总结就是这么多,由于是tv端应用所以在获焦和失焦处理上还有一些bug哈哈哈哈哈哈哈。如果有想法和建议欢迎邮箱联系:545087068@qq.com)
github地址:
https://github.com/AdrollLe/PopUpView
可以按需来修改里面的代码,主要已经把显示效果的逻辑已经写好了