zoukankan      html  css  js  c++  java
  • 让 Popwindow 向上弹出

     1 /**
     2      * 获取父控件的位置y-popwindow的高度 = 应该显示的y坐标.   x这里设置为center 不刻意指定坐标  注意:控件坐标永远是 左上角坐标!
     3      * 
     4      * @param parent
     5      */
     6     public void showUp(View parent) {
     7 
     8         int[] location = new int[2];
     9 
    10         parent.getLocationOnScreen(location);
    11         popupWindow.setFocusable(true);
    12         popupWindow.setOutsideTouchable(true);
    13 
    14         popupWindow.setAnimationStyle(R.style.AnimationPopup);
    15         popupWindow.showAtLocation(parent, Gravity.CENTER_HORIZONTAL
    16                 | Gravity.TOP, 0, location[1] - popupWindow.getHeight() + 20);
    17 
    18       
    19 
    20         popupWindow.update();
    21     }

    valuesstyle.xml:

    1 <resources>
    2 <style name="AnimationPopup">
    3     <item name="@android:windowEnterAnimation">@anim/appear</item>
    4     <item name="@android:windowExitAnimation">@anim/disappear</item>
    5 </style>
    6 </resources>

    animappear.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <set xmlns:android="http://schemas.android.com/apk/res/android" >
     3 
     4 
     5     <scale
     6         android:duration="500"
     7         android:fromXScale="1.0"
     8         android:fromYScale="0.5"
     9         android:pivotX="0%"
    10         android:pivotY="100%"
    11         android:toXScale="1"
    12         android:toYScale="1" />
    13 
    14 
    15     <alpha
    16         android:duration="500"
    17         android:fromAlpha="0.5"
    18         android:interpolator="@android:anim/accelerate_interpolator"
    19         android:toAlpha="1.0" />
    20 
    21 
    22 </set>

    animdisappear.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <set xmlns:android="http://schemas.android.com/apk/res/android" >
     3 
     4 
     5     <scale
     6         android:duration="500"
     7         android:fromXScale="1.0"
     8         android:fromYScale="1"
     9         android:pivotX="0%"
    10         android:pivotY="100%"
    11         android:toXScale="1"
    12         android:toYScale="0.5" />
    13 
    14 
    15     <alpha
    16         android:duration="500"
    17         android:fromAlpha="1.0"
    18         android:interpolator="@android:anim/accelerate_interpolator"
    19         android:toAlpha="0.0" />
    20 
    21 
    22 </set>

    点击屏幕其他部分实现使其消失的功能需要在showAtLocation方法调用前设置下面代码:

    1 pop.setBackgroundDrawable(new PaintDrawable());
    2         pop.setOutsideTouchable(true);
  • 相关阅读:
    nginx 优化
    linux 内核的优化
    Linux下如何查看版本
    oracle安装数据库中文乱码解决办法
    Python 5 行代码的神奇操作
    Python爬取网站上面的数据很简单,但是如何爬取APP上面的数据呢
    解放双手!用 Python 控制你的鼠标和键盘
    js混淆、eval解密
    ubuntu
    爬虫基本原理
  • 原文地址:https://www.cnblogs.com/l2rf/p/4088839.html
Copyright © 2011-2022 走看看