首先来说,只是实现了歌词界面的弹出和返回效果,没有做任何其他的功能,切界面丑陋无比。
首先来说,这个弹出和隐藏的界面效果就是一个TranslateAnimation 的动画效果,但也有需要注意的一些方面。
第一点:在设置界面,我这里用的是一个RelativeLayout 的布局,使用该界面 可以使的上下界面重叠,且可以设置界面的隐藏属性来设置显示哪一个界面。(我这里只用了一个,从我添加的点击按钮的地方你就可以看见这个布局的好处了)。
第二点:在做这个动画的时候一定要注意得到布局的高度,这一点我做过实验,不要在oncreate里去试图得到这个高的值,应为在oncreate 之前的时候,所有的控件view的大小都为0,所以得到的值是没用的,我的意见是再哪使用这个值,在哪获得。
第三点:我在布局文件中 设置弹出界面的隐藏 用的是 invisble 而不是gone ,这是因为如果使用gone ,那么在布局初始化的时候 它的宽高值仍然是0。也不要在oncreate中去设置 隐藏方式为gone ,参见前一句。 初始话完成后你使用 gone 属性将不会有影响。
第四点:为什么要获得弹出界面的高,而不是直接设定,这个很简单,因为手机的屏幕大小差异太多了。
第五点:我在设置界面弹出的时候,弹出点的高度是弹出界面的高度与下方按钮的高度一起计算获得的。 因为只有这样,才能是界面弹出的更无延迟。
第六点:监听动画,注意显示和隐藏弹出界面的时机。