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来学习一下布局动画.本文将通 ...
随机推荐
- codevs 2287 火车站
2287 火车站 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 钻石 Diamond 题目描述 Description 火车从始发站(称为第1站)开出,在始发站上车的人 ...
- Chrome 开发工具之Sources
Sources面板主要用于查看web站点的资源列表及javascript代码的debug 熟悉面板 了解完面板之后,下面来试试这些功能都是如何使用的. 文件列表 展示当前页面内所引用资源的列表,和平常 ...
- oracle---包--laobai
包(package) 作用:逻辑对象的一种.对相关存储过程.函数.变量的封装. a 封装,便于调用 b 统一授权 系统内置包:dbms_output.用于输出. standard:常用的函数.异常的定 ...
- JavaScript中的静态成员
静态:共享 一.公有静态成员(作为函数的属性即可): var Gadget = function(price) { this.price = price; } Gadget.isShiny = fun ...
- 高端大气上档次的fullPage.js
简介 4月15日,网易邮箱升级到6.0版本,并发布了介绍页面,页面采用了时下非常流行的"全屏"效果,文字.图片再加上 CSS3 动画,让用户非常直观.清晰的了解6.0版本的功能及特 ...
- jQuery对数组操作
//对象数组 var trackObj1={ , "direcLine":"line31" }; var currentTrack=[]; currentTra ...
- 深入分析HTTP状态码502(nginx+php-fpm)
我们的一个web项目,由于新上城市增多,导致访问量增大,DB压力增大,作为提供接口的业务方,最近被下游反馈大量请求"502". 502,bad gateway,一般都是upstre ...
- php如何防止图片盗用/盗链的两种方法(转)
图片防盗链有什么用? 防止其它网站盗用你的图片,浪费你宝贵的流量.本文章向大家介绍php防止图片盗用/盗链的两种方法 Apache图片重定向方法 设置images目录不充许http访问 Apache服 ...
- scrapy 学习笔记
1.scrapy 配合 selenium.phantomJS 抓取动态页面, 单纯的selemium 加 Firefox浏览器就可以抓取动态页面了, 但开启窗口太耗资源,而且一般服务器的linux 没 ...
- CRUD查询
简单查询: 1.最简单的查询 select*form 表名; *查所有的列select*form info 2.查询指定列 select code,name form info 3.修改结果集的列名 ...