文档章节

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
使用 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
Android技能树 — PopupWindow小结

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

青蛙要fly
09/09
0
0
Android Activity启动后立即弹出PopupWindow的两个方法

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

扬名立万
2014/05/28
0
0
Android之自定义AlertDialog和PopupWindow实现(仿微信Dialog)

我们知道,在很多时候,我们都不用Android内置的一些控件,而是自己自定义一些自己想要的控件,这样显得界面更美观。 今天主要是讲自定义AlertDialog和popupWindow的使用,在很多需求中,我们...

moz1q1
2015/08/26
0
1

没有更多内容

加载失败,请刷新页面

加载更多

Future,Thread,Callable,Executors.newXXXThreadPool

package cunrent.future;import java.util.concurrent.*;public class FutureCook { public static void main(String[] args) throws InterruptedException, ExecutionExcept......

noteman
7分钟前
0
0
shing boot 做session共享 redis

因为多台服务器负载均衡,在获取客户端的sessionId的时候,会出现第一次和第二次不一样,因为负载均衡的缘故,你的服务器最少两台,那么客户端连接第一次请求和第二次请求如果不是同一台服务...

小马_wolf
12分钟前
0
0
【Springboot+mybatis】 解析Excel并批量导入到数据库

【Springboot+mybatis】 解析Excel并批量导入到数据库置顶 2018年01月16日 20:05:52 冉野丶 阅读数:4060 标签: excel导入数据库 文件上传 excel解析 更多个人分类: POI 工作问题归纳...

奥特曼之王
14分钟前
1
0
Mac OS下安装Axure RP 8.0.0.3312 中文破解版

Mac下一款快速原型设计工具——Axure RP,有了它可以大大提高你的工作效率。此次带来的是Axure RP 8.0.0.3312 版本。 介绍 Axure RP 能帮助网站需求设计者,快捷而简便的创建基于网站构架图的...

james_laughing
15分钟前
0
0
【Guava】使用Guava的RateLimiter做限流

一、常见的限流算法 目前常用的限流算法有两个:漏桶算法和令牌桶算法。 1.漏桶算法 漏桶算法的原理比较简单,请求进入到漏桶中,漏桶以一定的速率漏水。当请求过多时,水直接溢出。可以看出...

大海201506
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部