popupwindow的基本使用以及基本动画效果
1.创建一个popupwindow
view的布局文件自己写一个就好了,这里就不说了
View view= LayoutInflater.from(context).inflate(R.layout.view, null);
//背景颜色
view.setBackgroundColor(Color.WHITE);
PopupWinow popupWindow = new PopupWindow(view,LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, true);
//显示(自定义位置)
popupWindow .showAtLocation(button, Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL, 0, 0);
//popupWindow .showAsDropDown();//显示在控件下面
//关闭
popupWindow.dismiss();
popupWindow.isShowing();//判断当前popupwindow是否打开
2.经常用到的,点击窗体外消失
// 需要设置一下此参数,点击外边可消失
popupWindow.setBackgroundDrawable(new BitmapDrawable(getResources(),
(Bitmap) null));
// 点击窗外可取消
popupWindow.setTouchable(true);
popupWindow.setOutsideTouchable(true);
3.关于窗体会被软件盘遮挡
// 设置pop被键盘顶上去,而不是遮挡
popupWindow.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED);
popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
4.关于给popupwindow添加各种动画效果(旋转,渐现,平移...),至于动画效果自己选
(1).给pop设置属性
popupWindow.setAnimationStyle(R.style.popwindow_anim_style); // 设置动画
(2).然后就是在style样式里面写样式了
<style name="popwindow_anim_style">
<item name="android:windowEnterAnimation">@anim/popup_show</item>
<!-- 指定显示时的动画xml -->
<item name="android:windowExitAnimation">@anim/popup_gone</item>
<!-- 指定消失时的动画xml -->
</style>
(3).最后就是在anim里面配置动画效果了
popup_show:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:fromXDelta="-100%"
android:toXDelta="0"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="500" />
</set>
popup_gone:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:fromXDelta="0"
android:toXDelta="-100%"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="300" />
</set>
5.pop的弹窗效果可以通过在AndroidManifest.xml里面设置成Theme.Dialog,
android:theme="@android:style/Theme.Dialog"
个人感觉如果页面的内容稍复杂点不喜欢用pop容易出现各种问题。一提的是,使用activity回调时如果startActivityForResult()刚刚执行完就调用了onActivityResult()而没有将相应的值传回来,在AndroidManifest.xml里将当前activity的launchMode去掉
1 android:launchMode="singleTask"
6.遇到show后不显示,设置宽高
etWidth(LayoutParams.WRAP_CONTENT); setHeight(LayoutParams.WRAP_CONTENT);
popupwindow的基本使用以及基本动画效果的更多相关文章
- android标题栏上面弹出提示框(二) PopupWindow实现,带动画效果
需求:上次用TextView写了一个从标题栏下面弹出的提示框.android标题栏下面弹出提示框(一) TextView实现,带动画效果, 总在找事情做的产品经理又提出了奇葩的需求.之前在通知栏显示 ...
- PopupWindow添加动画效果
1.定义PopupWindow弹出与消失的两个动画文件,放在anim文件夹下 popup_enter.xml <?xml version="1.0" encoding=&qu ...
- android标题栏下面弹出提示框(一) TextView实现,带动画效果
产品经理用的是ios手机,于是android就走上了模仿的道路.做这个东西也走了一些弯路,写一篇博客放在这里,以后自己也可用参考,也方便别人学习. 弯路: 1.刚开始本来用PopupWindow去实现 ...
- 【转】Android 实现蘑菇街购物车动画效果
原文出处:http://blog.csdn.net/wangjinyu501/article/details/38400479 1.思路 目前想到两种方式实现这种效果,一是使用Tween动画,直截 ...
- 自定义PopupWindow弹出框(带有动画)
使用PopupWindow来实现弹出框,并且带有动画效果 首先自定义PopupWindow public class LostPopupWindow extends PopupWindow { pub ...
- setAnimationStyle实现的popwindow显示消失的动画效果
摘要 popwindow通过setAnimationStyle(int animationStyle)函数来设置动画效果 android:windowEnterAnimation表示进入窗口动画 an ...
- Android 实现蘑菇街购物车动画效果
版本号:1.0 日期:2014.8.6 版权:© 2014 kince 转载注明出处 使用过蘑菇街的用户基本上都知道有一个增加购物车的动画效果,此处不详细描写叙述想知道的能够去下载体验一下. 1 ...
- app引导页(背景图片切换加各个页面动画效果)
前言:不知不觉中又加班到了10点半,整个启动页面做了一天多的时间,一共有三个页面,每个页面都有动画效果,动画效果调试起来麻烦,既要跟ios统一,又要匹配各种不同的手机,然后产品经理还有可能在中途改需求 ...
- Android动画效果之自定义ViewGroup添加布局动画
前言: 前面几篇文章介绍了补间动画.逐帧动画.属性动画,大部分都是针对View来实现的动画,那么该如何为了一个ViewGroup添加动画呢?今天结合自定义ViewGroup来学习一下布局动画.本文将通 ...
随机推荐
- Python学习总结 01 配置环境
1 查看python的版本 ubuntu16.04 LTS系统下默认安装了python2.7.12 和python3.5.2, 她们在/usr/bin/下可以找到, 默认用python2.7.8 1) ...
- xpath 学习一: 节点
xpath 中,有七种类型的节点: 元素.属性.文本.命名空间.处理指令.注释.以及根节点 树的根成为文档节点或者根节点. 节点关系: Parent, Children, sibling(同胞), A ...
- PHP数组函数总结
array_change_key_case - 返回字符串键名全为小写或大写的数组 array_chunk - 将一个数组分割成多个 array_column - 返回数组中指定的一列 array_c ...
- hibernate学习二(HelloWorld)
一.建立hibernate配置文件 在工程Hibernate_01_HelloWorld下的src上建立hibernate.cfg.xml,打开hibernate-release-4.3.11.Fin ...
- 又一枚精彩的弹幕效果jQuery实现
精彩的弹幕效果分享给大家,具有一定的参考价值,感兴趣的朋友可以尝试制作弹幕,具体内容如下 简易弹幕效果:将发布的内容随机显示在弹幕右侧,逐渐左移最后消失. 涉及知识点:val().random ...
- mysql 优化
1.存储过程造数据 CREATE DEFINER=`root`@`localhost` PROCEDURE `generate_test_data`(`n` int) begin declare i ...
- Python - 类与对象的方法
类与对象的方法
- MySQL主从复制
Mysql主从复制介绍 MySQL支持单向.双向.链式级联.实时.异步复制.在复制过程中,一台服务器充当服务器(Master),而一个或多个其它的服务器充当从服务器(Slave). 复制可以是单向:M ...
- java基础 super 子类调用父类
如果希望在子类中,去调用父类的构造方法,要求在子类的构造函数调用 example如下: package test; /* * 如果希望在子类中,去调用父类的构造方法,要求在子类的构造函数调用 * */ ...
- vs写python扩展资料收集
总结: 1.创建dll工程: 2.增加包含头文件路径 :将python路径下的include加入到包含头文件路径:在工程属性页 C/C++/附加包含目新增<Python>\include目 ...