看了bilibili的客户端搜索按钮,很喜欢大爱!自己也想做个类似的(相似度 10% 哈哈)

popWin的出现退出动画也可以自己设定,用过其方法setAnimationStyle(R.style.xxx)设置Style文件进而设置显示退出动画

    <!-- popwindow进入和退出动画 -->
<style name="popwin_anim_style">
<item name="android:windowEnterAnimation">@anim/menushow</item>
<item name="android:windowExitAnimation">@anim/menuhide</item>
</style>

对应的show和hide文件,这里看以发现只是很简单的translate变换动画

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="-800"
android:toXDelta="0"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="500" />
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="-700"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="300" />
</set>

我们在新建一个popupwindow之后 关键就在这里 显示的时候规定显示的位置

//这里是获取需要显示popwin的view的位置,然后使popwin显示在其上方
int[] location = new int[2];
rv_menusearch.getLocationOnScreen(location);
popsearch.showAtLocation(rv_menusearch, Gravity.NO_GRAVITY,
location[0], location[1] - popsearch.getHeight());

等到研究出类似bilibili动画的时候再改好了

如何让popWindow显示在view上方的更多相关文章

  1. bug -- android 7.0 popwindow显示位置异常情况解决

    android 7.0 popwindow显示位置异常,在android7.1官方进行解决了,但是还是要多7.0的bug进行解决,我的解决方案里面通过重写popwindow进行适配: import a ...

  2. 看代码学知识之(2) ListView无数据时显示其他View

    看代码学知识之(2) ListView无数据时显示其他View 今天看的一块布局是这样的: <!-- The frame layout is here since we will be show ...

  3. 自行扩展 FineUIMvc 通知对话框(多个并排显示不重叠,支持最新的显示在最上方)

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 这篇文章我们将改造 FineUIMvc 默认的通知对话框,使得同时显示多个也不会重叠.并提前出一个公共的JS文件,供大家使用. ...

  4. MVC下 把数据库中的byte[]值保存成图片,并显示在view页面

    MVC下 把数据库中的byte[]值转成图片,并显示在view页面 controller中的action方法 //显示图片[AllowAnonymous]public ActionResult Sho ...

  5. iOS: 在键盘之上显示一个 View

    如 AlertView,当 show 一个 Alert 时,它会覆盖在 Keyboard 上面,不影响显示的效果.那么我们自己创建的 View 如何像 Alert 那样不被键盘盖住呢?很简单,拿到 A ...

  6. AJ学IOS 之控制器view显示中view的父子关系及controller的父子关系_解决屏幕旋转不能传递事件问题

    AJ分享,必须精品 一:效果 二:项目代码 这个Demo用的几个控制器分别画了不通的xib,随便拖拽了几个空间,主要是几个按钮的切换,主要代码展示下: // // NYViewController.m ...

  7. ios 在storyboard 和 xib中,显示自定义view的预览效果

    发现FSCalendar这个控件能在xib中显示预览效果,是怎么实现的呢?其中涉及的知识又有哪些? 主要就是IBInspectable 和 IB_DESIGNABLE 先看 IBInspectable ...

  8. UITabBarController加载之后不显示sub view controller

    原代码: fileprivate func createSubiewControllers() { let newsVC = NewsViewController() let newsItem = U ...

  9. setAnimationStyle实现的popwindow显示消失的动画效果

    摘要 popwindow通过setAnimationStyle(int animationStyle)函数来设置动画效果 android:windowEnterAnimation表示进入窗口动画 an ...

随机推荐

  1. Maven-007-Nexus 用户添加,用户角色分配,用户修改密码,管理员重置用户密码

    配置好 maven nexus 私服后,默认的用户可通过查看[Users]查看当前私服中所存在的用户,如下图所示:

  2. LeetCode Paint Fence

    原题链接在这里:https://leetcode.com/problems/paint-fence/ 题目: There is a fence with n posts, each post can ...

  3. 微信sdk分享,苹果手机分享到qq好友和qq空间没有反应

    最近线上程序苹果手机进行微信分享时,分享到qq好友和qq空间,无法调用分享程序,从微信跳转到qq后就没有反应了,但是安卓手机分享就没事? 解决:调用微信sdk分享时,分享的url(link)的参数不能 ...

  4. for循环和迭代

    迭代的一个时间复杂度最大就是n^2,而在for循环和迭代相结合的一个情况下则是一个排序组合,不再是一个简单n^2,而是阶乘n!.

  5. 执行robot framework 的测试用例 命令行pybot使用方式

    1.执行整个项目下的所有用例: pybot 项目路径.例如: pybot D:\robot 2.执行某个suit中的所有用例: pybot 项目路径\suit文件名称. 例如:pybot D:\rob ...

  6. jQuery的扩展与noConflict

    jQuery的扩展 noConflict

  7. windows系统调用 互斥体mutex

    #include "iostream" #include "windows.h" using namespace std; class CCountUpDown ...

  8. js_css_dl.dt实现列表展开、折叠效果

    第一种方式:不提倡 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  9. linux中非root用户使用wireshark进行抓包

    开始的时候我是在终端中使用sudo 命令打开 wireshark 的,因为如果不这样的话 wireshark 就没法抓包啊.偶尔抓一次包就使用这样的方式提权. 今天使用 wireshark 的时候特意 ...

  10. ReportDB数据库存储选型分析

    SQLServer关于reportDB的存储选型做如下分析: 网络存储两大主要类型: 1.NAS 支持的文件传输协议:NFS(unix/linux文件共享).SMB(windows).samba(li ...