上图:效果图
感谢:首先,图片是借用了网上一位朋友的图片,对这位朋友表示感谢。
效果的实现:有两个特效:1是菜单从QQPopMenu2这个Button控件下面滑出。2背景的变换(主要是透明度)
原理:
这个布局采用FrameLayout布局方式布局,分三个层次放置需要的控件,先放的控件是背景(使用的LinearLayout控件主要改变它的background达到变暗效果,默认隐藏)。接着放置的是菜单控件(LinearLayout控件,该控件的内添加各种菜单项,该控件默认隐藏)。最后放置Button控件。从垂直方向看整个FrameLayout布局,从上到下,依次是Button控件、菜单控件、背景控件。
事件响应及相关动画效果:当点击QQPopMenu2这个Button时,菜单开始执行动画,在执行动画结束后显示菜单到指定位置,在菜单执行动画的同时,背景控件同时执行背景变换的动画,并在动画执行结束后,显示背景。当再次点击Button或菜单外的背景时,菜单执行隐藏动画,在动画结束时隐藏,同理,背景控件。
付源码,有需要的朋友看一下。