“歌单详情”这个View大概占屏幕高的3/4,界面除了这个view其他部分则变成了半透明状态。
怎么实现这个View呢?我自己主要研究了三套做法,并用实际开发项目的情况做了测试,作出下面的小结:
- 把这个界面做成一个
PopWindow
优势:完全能够满足任意动画要求,其实算是最好解决Activity半透明方案了。
劣势:PopWindow内部不能做一些依赖性比较高的网络请求,如果我们要在这个界面请求数据或者一直监听外面Activity的数据,那么PopWindow做不到。
- 将该界面做成一个
Dialog
形式
优势:和PopWindow一样,能够完成任意动画要求
劣势:适配有问题,非常依赖外部Activty,如果我们切入到后台,把屏幕在全面屏和有虚拟键盘的屏来回切,那么再回到该界面中,Dialog可能会出现适配问题,而且为了这么一个Dialog去读 小米、华为的全面屏适配文档,很伤。(测试们很喜欢这么玩的)
- 将该界面做成一个
Activity
优势:可以完全解决上述两种情况劣势带来的问题,Activity在功能上比PopWindow和Dialog更多元更强大。
劣势