Gif示例:
上面的示例是模仿一些App设置的弹窗,为了实现上面gif中的效果,可以通过PopUpWindow实现。
以下是实现过程。(欢迎大佬指证o.o)
1:创建PopUpWindow动画(anim)
这个anim是在开发中扮演很重要的一环,因为好看o.o,所以麻烦。浅入浅出是我们比较常见的。(因为周师傅只会这个,另外的自己调QAQ)下面是创建PopUpWindow动画的步骤
1:在res中创建anim文件夹方便开发。(如图)
(这里有个坑,就是我这个版本创建文件夹不显示的问题)
创建文件可能会出现的问题(已解决)
当我们创建好文件夹后发现我们的anim文件不显示。这个时候我们需要切换到Project的视图在res创建一遍,如果在这里出现了我们创建的文件夹,就删除在这里再次创建我们的anim文件夹然后回到Android界面我们就会发现我们创建的这个anim文件出现了(如下图)
2:编写PopUpWindow进入和结束code
创建两个xml文件,文件的名字任意,可以表达进入和结束的(如图)
编写进入(enter)动画
这里是为了满足gif中的效果所设置的参数,只涉及了两个标签<translate>(平移标签)和<alpha>(透明度标签),还有<scale>(尺寸)和<rotate>(旋转)它们之间的函数各有不同,以后遇到会记录o.o
编写结束(end)动画
不多赘述上代码
3:整合我们的开始和结束anim
在我们的values创建一个xml文件,文件后缀为style,上图
到这里为止我们的popupwindow的动画部分已经编写完成了
2:创建PopUpWindow的脚本页面(布局界面)XML
这一步我们要设置两个xml,一个需要弹窗的界面设置还有一个是主弹窗的设置
1:编写需要弹窗的界面
这个界面还是很简单的突出一个显示效果 \\o.o//
2:编写弹窗的主界面
我们的弹窗是圆角的所以我们需要去自定义一个圆角
这里称之为画蛇添足
在我们的drawable中创建一个xml文件(如图)
对我们的自定义控件进行编写(如图)
然后我们正式进入到主popupwindow的编写(如图)
到这里为止所有的XML的编写已经完成了
3:编写主函数代码
这个页面自己写的头都大了QAQ
下面是框重叠部分
popupWindow.setAnimationStyle(R.style.popupwindow_anim_style);
以上就是我完成gif中效果所有步骤
回头去整合一个popupwindow所有属性的表格!!!!!