PopupWindow-----listview item的点击出现PopupWindow
/**
* 设置listview item的点击事件
*/
lv_app_manager.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if (position == 0) {
return;
} else if (position == (userAppInfos.size() + 1)) { //超过不弹出
return;
} else if (position <= userAppInfos.size()) {// 用户程序
int newposition = position - 1;
appInfo = userAppInfos.get(newposition); //appInfo单个对象
} else {// 系统程序
int newposition = position - 1 - userAppInfos.size() - 1;
appInfo = systemAppInfos.get(newposition); // 点击
}
// System.out.println(appInfo.getPackname());
dismissPopupWindow();
View contentView = View.inflate(getApplicationContext(),
R.layout.popup_app_item, null);
ll_start = (LinearLayout) contentView
.findViewById(R.id.ll_start);
ll_share = (LinearLayout) contentView
.findViewById(R.id.ll_share);
ll_uninstall = (LinearLayout) contentView
.findViewById(R.id.ll_uninstall); //卸载 ll_start.setOnClickListener(AppManagerActivity.this);
ll_share.setOnClickListener(AppManagerActivity.this);
ll_uninstall.setOnClickListener(AppManagerActivity.this);
// 得到 PopupWindow 的对象
popupWindow = new PopupWindow(contentView, -2, -2); // 上面的contentView
// 动画效果的播放必须要求窗体有背景颜色。
// 透明颜色也是颜色
popupWindow.setBackgroundDrawable(new ColorDrawable(
Color.TRANSPARENT));
int[] location = new int[2];
view.getLocationInWindow(location);
// 在代码里面设置的宽高值 都是像素。---》dip
int dip = 60;
int px = DensityUtil.dip2px(getApplicationContext(), dip);
System.out.println("px=" + px); // 得到 px
popupWindow.showAtLocation(parent, Gravity.LEFT | Gravity.TOP,
px, location[1]);
// 最后加上动画
ScaleAnimation sa = new ScaleAnimation(0.3f, 1.0f, 0.3f, 1.0f,
Animation.RELATIVE_TO_SELF, 0,
Animation.RELATIVE_TO_SELF, 0.5f);
sa.setDuration(300);
AlphaAnimation aa = new AlphaAnimation(0.5f, 1.0f);
aa.setDuration(300);
AnimationSet set = new AnimationSet(false);
set.addAnimation(aa);
set.addAnimation(sa);
contentView.startAnimation(set);
}
}); 1.关闭的方法 private void dismissPopupWindow() {
// 把旧的弹出窗体关闭掉。
if (popupWindow != null && popupWindow.isShowing()) {
popupWindow.dismiss();
popupWindow = null;
}
}
PopupWindow-----listview item的点击出现PopupWindow的更多相关文章
- 取消GridView/ListView item被点击时的效果 记录学习
方法一,在控件被初始化的时候设置 gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); listView.setSelector(ne ...
- 取消GridView/ListView item被点击时的效果
方法一,在控件被初始化的时候设置 ? 1 2 gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); listView.setSelec ...
- Android-取消GridView/ListView item被点击时的效果
方法一,在控件被初始化的时候设置 gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); listView.setSelector(ne ...
- ListView(4)取消GridView/ListView item被点击时的效果
方法一,在代码中设置 gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); listView.setSelector(new Colo ...
- PopupWindow+ListView+OnItemClick点击无效
昨天踩了个大坑,从下午折腾到现在.实现以下功能: popupWindow显示listview,listView OnItemClick点击后获取值. 由于重写listview 是有两部分 列表正文和右 ...
- PopupWindow+ListView
1. 获取打到数据 for (int i = 0; i < iocOutMakeMaterialSubmit.data.size(); i++) { dataListPopupWindow.ad ...
- listview指定某item的点击效果
需求:listview的某些item能够点击,需要点击效果,有些item不能点击,需要屏蔽点击效果. 实现: 1.layout: <ListView android:id="@+id/ ...
- Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow
Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow 这本身是一个看似很简单的问题,但是如果设置不当,就可能导致莫名其妙失效问题.通常在Andro ...
- ListView的Item被点击和其中的Button被点击同时生效
Android开发中在ListView中经常有Button或ImageButton等需要被点击的控件,如果不加一些特殊的限制,有可能 ListView的Item的点击事件或Button的点击事件,其中 ...
随机推荐
- Ubuntu中安装jdk环境
1.Installing default JRE/JDK sudo apt-get update sudo apt-get install default-jre sudo apt-get insta ...
- 设置某个字段为null
update 表名 set 字段名=null WHERE 条件如下例子 update dwtz set ggid=null WHERE name_of_invested_company='浙江海翔药业 ...
- STM32 ~ J-LINK V8 修复
1.1 安装固件烧录软件 ♦请ATMEL官方网址下载AT91-ISP下载软件. 软件下载地址:http://www.atmel.com/dyn/products/tools_card.asp?t ...
- Kattis - flippingcards 【并查集】
题意 给出 N 对 数字 然后 每次从一对中 取出一个数字 判断 能否有一种取出的方案 取出的每个数字 都是不同的 思路 将每一对数字 连上一条边 然后 最后 判断每一个连通块里面 边的个数 是否 大 ...
- Data Structure Array: Maximum of all subarrays of size k
http://www.geeksforgeeks.org/maximum-of-all-subarrays-of-size-k/ #include <iostream> #include ...
- python 3 面向过程编程
python 3 面向过程编程 核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就像设计好一条工业流水线,是一种机械式的思维方式. 1.优点:程序结构清晰,可以把复杂的问题简单化,流程 ...
- 面试问题(HTML和CSS方面)
1 IE/Win的 HasLayout 2 浮动 float 的定义.float后元素的display属性会发生改变吗?3 CSS 3.0.CSS2.1 中被现代浏览器应用了的规则有哪些?4 父元素定 ...
- Android OTA在线升级一(架构分析)【转】
本文转载自:http://blog.csdn.net/yanleizhouqing/article/details/50234213 1.前言 OTA(Over-the-Air Technology) ...
- Docker 命令篇
Docker命令比较对,我们来慢慢学 Docker run(运行Container) 常用选项: -d Run container in background and print container ...
- 算法(Algorithms)第4版 练习 2.2.11(2)
关键代码: private static void sort(Comparable[] input, int lo, int hi) { if(lo >= hi)//just one entry ...