文档章节

popupwindow展示

Jusenr
 Jusenr
发布于 2016/05/17 00:23
字数 540
阅读 5
收藏 0

  样式:

 

  layout:

popup_appinfo.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="wrap_content"
 4     android:layout_height="wrap_content"
 5     android:background="@drawable/pop_bg"
 6     android:orientation="horizontal" >
 7 
 8     <TextView
 9         android:id="@+id/tv_uninstall"
10         android:layout_width="wrap_content"
11         android:layout_height="wrap_content"
12         android:layout_margin="3dp"
13         android:drawablePadding="3dp"
14         android:drawableTop="@drawable/ic_uninstall"
15         android:text="卸载"
16         android:textColor="@color/black"
17         android:textSize="16sp" />
18 
19     <TextView
20         android:id="@+id/tv_open"
21         android:layout_width="wrap_content"
22         android:layout_height="wrap_content"
23         android:layout_margin="3dp"
24         android:drawablePadding="3dp"
25         android:drawableTop="@drawable/ic_open"
26         android:text="打开"
27         android:textColor="@color/black"
28         android:textSize="16sp" />
29 
30     <TextView
31         android:id="@+id/tv_share"
32         android:layout_width="wrap_content"
33         android:layout_height="wrap_content"
34         android:layout_margin="3dp"
35         android:drawablePadding="3dp"
36         android:drawableTop="@drawable/ic_share"
37         android:text="分享"
38         android:textColor="@color/black"
39         android:textSize="16sp" />
40 
41     <TextView
42         android:id="@+id/tv_info"
43         android:layout_width="wrap_content"
44         android:layout_height="wrap_content"
45         android:layout_margin="3dp"
46         android:drawablePadding="3dp"
47         android:drawableTop="@drawable/ic_info"
48         android:text="信息"
49         android:textColor="@color/black"
50         android:textSize="16sp" />
51 
52 </LinearLayout>

 

  anim:

popup_enter.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <set xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:shareInterpolator="false" >
 4 
 5     <translate
 6         android:duration="400"
 7         android:fromXDelta="100%p"
 8         android:interpolator="@android:interpolator/overshoot"
 9         android:toXDelta="0" />
10 
11     <alpha
12         android:duration="400"
13         android:fromAlpha="0.2"
14         android:toAlpha="1.0" />
15 
16 </set>

 

popup_exit.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <set xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:shareInterpolator="false" >
 4 
 5     <translate
 6         android:duration="400"
 7         android:fromXDelta="0"
 8         android:interpolator="@android:interpolator/anticipate"
 9         android:toXDelta="50%p" />
10 
11     <alpha
12         android:duration="400"
13         android:fromAlpha="1.0"
14         android:toAlpha="0" />
15 
16 </set>

 

code:

Activity.java

......

 1     //显示popupwindow
 2     protected void showPopup(View itemView) {
 3         if (mPopupWindow == null) {//只需要初始化一次弹窗
 4             //初始化弹窗布局
 5             View view = View.inflate(this, R.layout.popup_appinfo, null);
 6 
 7             //设置按钮点击事件
 8             TextView tvUninstall = (TextView) view
 9                     .findViewById(R.id.tv_uninstall);
10             TextView tvOpen = (TextView) view.findViewById(R.id.tv_open);
11             TextView tvShare = (TextView) view.findViewById(R.id.tv_share);
12             TextView tvInfo = (TextView) view.findViewById(R.id.tv_info);
13             tvUninstall.setOnClickListener(this);
14             tvOpen.setOnClickListener(this);
15             tvShare.setOnClickListener(this);
16             tvInfo.setOnClickListener(this);
17 
18             //初始化弹窗对象
19             ////参1:布局; 参2,3:宽高; 参4:获取焦点
20             mPopupWindow = new PopupWindow(view,
21                     WindowManager.LayoutParams.WRAP_CONTENT,
22                     WindowManager.LayoutParams.WRAP_CONTENT, true);
23 
24             //设置背景;只有设置了背景,点击窗口外侧和返回键,弹窗才会消失
25             mPopupWindow.setBackgroundDrawable(new ColorDrawable());
26 
27             //设置动画样式
28             mPopupWindow.setAnimationStyle(R.style.PopupAnim);
29         }
30 
31         //显示在item正下方, 然后向上偏移一个item的高度
32         mPopupWindow.showAsDropDown(itemView, 60, -itemView.getHeight());
33     }

 

......

  1 //弹窗消失

 2 mPopupWindow.dismiss(); 

......

 

© 著作权归作者所有

共有 人打赏支持
Jusenr
粉丝 0
博文 20
码字总数 10876
作品 0
西安
Android工程师
私信 提问
Android:PopupWindow

一、概述 1、构造方法 部分常用: PopupWindow(View contentView, int width, int height)Create a new non focusable popup window which can display the contentView.PopupWindow(View c......

Xushao
2013/12/16
0
2
Android技能树 — PopupWindow小结

前言: 关于下拉选择框,估计大家都有很多选择,我在以前的文章:项目需求讨论-HyBrid模式需求改造 上写过下拉框选择这一块,正好用的Spinner。 这次正好又有一个下拉框的需求,所以这次我使用...

青蛙要fly
09/09
0
0
使用 PopupWindow 的时候遇到Activity com.avcit… has leaked

在OnCreate方法中调用 > popupWindow.showAtLocation(view, Gravity.LEFT Gravity.TOP, x, y); 时,会出现以下错误: 这是因为这个popupWindow依赖的父Activity已经finish()的了,但是它还...

BravoZu
2013/12/27
0
0
PopupWindow源码分析

目录介绍 1.最简单的创建方法 1.1 PopupWindow构造方法 1.2 显示PopupWindow 1.3 最简单的创建 1.4 注意问题宽和高属性 2.源码分析 2.1 setContentView(View contentView) 2.2 showAsDropDow...

潇湘剑雨
10/11
0
0
Android Activity启动后立即弹出PopupWindow的两个方法

Activity启动后立即弹出PopupWindow的两个方法 若在Activity的onCreate()方法中直接写弹出PopupWindow方法会报错,因为activity没有完全启动是不能 弹出PopupWindow的。 那我们只需要在activ...

扬名立万
2014/05/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

node安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

笑丶笑
10分钟前
1
0
OSChina 周三乱弹 —— 夜半回家,推门不动

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @胖达panda :分享陶晶莹/张雨生的单曲《我期待》 《我期待》- 陶晶莹/张雨生 手机党少年们想听歌,请使劲儿戳(这里) @cc_z :熬夜一时爽,...

小小编辑
22分钟前
84
3
验证码

response生成验证码 验证码的作用:防止恶意注册、攻击等 网站上看到的验证码,实际上都是一些图片,而这些图片都是程序(Servlet)生成的! package day19.test; import java.awt.Color; i...

码农屌丝
今天
1
0
day147-2018-11-14-英语流利阅读-待学习

《毒液》刚刚上映,创造漫威宇宙的人却走了 雪梨 2018-11-14 1.今日导读 中国的金庸创造了侠义英雄和江湖传奇,而大洋彼岸的斯坦·李也同样创造了一个绚烂璀璨的漫威宇宙,他构思的每个超级英...

飞鱼说编程
今天
9
0
CentOS 安装PHP5和PHP7

安装PHP5 下载解压二进制包 [root@test-a src]# cd /usr/local/src/[root@test-a src]# wget http://cn2.php.net/distributions/php-5.6.32.tar.bz2[root@test-a src]# tar jxvf php-5.6......

野雪球
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部