PopupWindow从底部划入划出
2016-04-07 18:32
323 查看
1.动画animation_in.xml:
2.动画animation_out.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="200" android:fromYDelta="100%p" android:toYDelta="0" /> <alpha android:duration="500" android:fromAlpha="0.0" android:toAlpha="1.0" /> </set>
2.动画animation_out.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="500" android:fromYDelta="0" android:toYDelta="50%p" /> <alpha android:duration="200" android:fromAlpha="1.0" android:toAlpha="0.0" /> </set>3.style中设置动画:
<style name="take_photo_anim" parent="android:Animation"> <item name="android:windowEnterAnimation">@anim/pop_enter_anim</item> <item name="android:windowExitAnimation">@anim/pop_exit_anim</item> </style>4.主Activity中:
initPopuWindow();
private void initPopuWindow() { LayoutInflater layoutInflater = LayoutInflater.from(StudentAttributeSettingActivity.this); popupWindow = layoutInflater.inflate(R.layout.spinner_item, null);//spinner_item为PopupWindow中需要加载的布局 pop = new PopupWindow(popupWindow, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, false); // 需要设置一下此参数,点击外边可消失 pop.setBackgroundDrawable(new BitmapDrawable()); // 设置点击窗口外边窗口消失 pop.setOutsideTouchable(true); // 设置此参数获得焦点,否则无法点击 pop.setFocusable(true); pop.setAnimationStyle(R.style.take_photo_anim);//style中的动画风格 }在需要调用popupWindow的地方添加:
pop.showAtLocation(findViewById(R.id.ll_setting_student), Gravity.RIGHT | Gravity.BOTTOM, 0, 0);即可,需要注意的是popupWindow中的布局高度应该自适应获得获得此空间的高度,根据此高度设置动画平移的距离。
相关文章推荐
- Linux Namespace
- ObjecC 中copy与mutableCopy的说明
- linux小知识
- visibleViewController和topViewController 获取当前显示的页面
- Intellij IDEA 14远程调试Tomcat6
- Linux 第七章学习笔记
- Centos7最小化安装后(minimal)安装图形界面
- Linux 第七章学习笔记
- apache启动脚本
- Linux单向pint通
- 使用URL Rewrite实现网站伪静态
- openwrt 添加4G拨号(qmi驱动)
- Shell - 技巧 - 1
- 关于NSRunLoop和NSTimer问题的深入理解
- linux常用命令大全
- java开发常用的linux命令
- red hat linux下安装mysql
- jsp统计网站的访问次数
- NSOperation慢慢整理
- VMware安装centos6.7后开机,提示kernel panic - not syncing : attempted to kill init 完整解决方案