Android开发中实现一个弹出框的方法

  介绍

本篇文章给大家分享的是有关Android开发中实现一个弹出框的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<强>截图:

 Android开发中实现一个弹出框的方法

<强>动画效果介绍:

1。点击ActionBar上“+”按钮,菜单从上方弹出(带反弹效果);
2。再次点击“+”,点击空白区域或者点击返回键、菜单向上方收起;
3。点击弹出框上的按钮时,该按钮放大,其它按钮缩小,菜单整体渐变退出。

<强>主体代码:

/* *   *仿易信动画弹出框   */公开课MainActivity延伸ActionBarActivity {//用于标记页面顶端位置   私人观点赢富数据;   @Override   保护空白>/* *   * AnimationHelper   */公开课AnimationHelper {/* *   *进入动画的时间   */公共静态最终int TIME_IN=300;/* *   *进入动画之后的反弹动画时间   */公共静态最终int TIME_IN_BACK=100;/* *   *退出动画的时间   */公共静态最终int TIME_OUT=300;/* *   *点击PopupWindow上菜单后退出动画的时间   */公共静态最终int TIME_OUT_CLICK=500;/* *   * PopupWindow上菜单进入动画   */公共静态动画createPopupAnimIn(上下文语境,int fromYDelta) {   AnimationSet AnimationSet=new AnimationSet(上下文,null);//animationSet。setInterpolator(新BounceInterpolator ());//结束时弹跳   animationSet.setFillAfter(真正的);//移动   TranslateAnimation translateAnim=new TranslateAnimation (0,0 fromYDelta 20);   translateAnim.setDuration (TIME_IN);   animationSet.addAnimation (translateAnim);//回弹效果   TranslateAnimation translateAnim2=new TranslateAnimation (0, 0, 0, -20);   translateAnim2.setStartOffset (TIME_IN);   translateAnim2.setDuration (TIME_IN_BACK);   animationSet.addAnimation (translateAnim2);   返回animationSet;   }/* *   * PopupWindow上菜单离开动画   */公共静态动画createPopupAnimOut(上下文语境,int toYDelta) {   AnimationSet AnimationSet=new AnimationSet(上下文,null);   animationSet.setFillAfter(真正的);   TranslateAnimation translateAnim=new TranslateAnimation (0, 0, 0, toYDelta);   translateAnim.setDuration (TIME_OUT);   animationSet.addAnimation (translateAnim);   返回animationSet;   }/* *   * PopupWindow背景进入动画(透明度渐变)   */公共静态动画createPopupBgFadeInAnim () {   AlphaAnimation动画=new AlphaAnimation(0, 1.0度);   anim.setDuration (TIME_IN);   anim.setFillAfter(真正的);   返回似的;   }/* *   * PopupWindow背景离开动画(透明度渐变)   */公共静态动画createPopupBgFadeOutAnim (int持续时间){   AlphaAnimation动画=new AlphaAnimation (1.0 f, 0);   anim.setDuration(持续时间);   anim.setFillAfter(真正的);   返回似的;   }/* *   * PopupWindow按钮点击动画   */公共静态动画createPopupItemBiggerAnim(上下文语境){   AnimationSet AnimationSet=new AnimationSet(上下文,null);   animationSet.setFillAfter(真正的);//放大(设置缩放的中心点为自己的中心)   ScaleAnimation scaleAnim=new ScaleAnimation (2.0 1.0 2.0 1.0 f, f, f, f,   动画。RELATIVE_TO_SELF 0.5 f,动画。RELATIVE_TO_SELF 0.5 f);   scaleAnim.setDuration (TIME_OUT_CLICK);   animationSet.addAnimation (scaleAnim);//渐变   AlphaAnimation alphaAnim=new AlphaAnimation (1.0 f, 0);   alphaAnim。setInterpolator(新AccelerateInterpolator ());   alphaAnim.setDuration (TIME_OUT_CLICK);   animationSet.addAnimation (alphaAnim);   返回animationSet;   }/* *   * PopupWindow按钮点击时其它按钮的动画   */公共静态动画createPopupItemSmallerAnim(上下文语境){//放大(设置缩放的中心点为自己的中心)   ScaleAnimation scaleAnim=new ScaleAnimation (1.0 f, 0, 1.0 f, 0,   动画。RELATIVE_TO_SELF 0.5 f,动画。RELATIVE_TO_SELF 0.5 f);   scaleAnim.setDuration (TIME_OUT_CLICK);   scaleAnim.setFillAfter(真正的);   返回scaleAnim;   }   }

以上就是Android开发中实现一个弹出框的方法,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

Android开发中实现一个弹出框的方法