PopupWindow
来源:互联网 发布:红蓝3d mac播放器 编辑:程序博客网 时间:2024/05/24 15:36
可以用来显示数据:例如listView的数据
private int popupWindowHight = 300; public void showListNumber() { if (popup == null) { popup = new PopupWindow(listview, et_text.getWidth(), popupWindowHight); //popupWindow要显示的view 和 popup 的宽度; } //要使listView获得焦点必走这。 popup.setFocusable(true); //要让其他的view能获得焦点。 popup.setBackgroundDrawable(new BitmapDrawable()); //设置一个空的背景图片。 popup.setOutsideTouchable(true); popup.showAsDropDown(et_text, 0, 0); //向下显示 依附的view 偏移view坐标系的xy坐标。 }
PopupWindow 的高度随listview条目的变化而变化;
iv_delete.setOnClickListener(new OnClickListener() { @Override // 当点击删除按钮时需要将数据删除掉。 public void onClick(View v) { list.remove(position); notifyDataSetChanged(); //注意Adapter的数据改变时,要加这个。以便显示。 /** * 当listview的条目改变时,需要改变popupWindow的高度。 */ int listviewHeight = view.getHeight()*list.size(); //三元表达式 判断。 popup.update(et_text.getWidth(), listviewHeight>popup.getHeight()?popup.getHeight():listviewHeight); //要将下拉箭头隐藏掉。 if(list.size()==0){ popup.dismiss(); iv_select.setVisibility(View.GONE); //设置imageview隐藏消失掉。 } } });
下拉选择:
1.假如listview的item中有Button,ImageButton,CheckBox等会强制获取焦点的view
此时,listview的item无法获取焦点,从而无法被点击
解决方法:给item的根布局增加以下属性
android:descendantFocusability=”blocksDescendants”
设置之后,Button获取焦点,item中其他控件也可以获取焦点
0 0
- popupwindow
- popupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- popupwindow
- PopupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- PopupWindow
- popupwindow
- popupwindow
- PopupWindow
- React-Native_02:语法篇
- node.js 初体验
- MacBook Pro下开发常用快捷键
- 【面试题44】扑克牌顺子
- Android消息推送完美方案
- PopupWindow
- iOS启动时设置竖屏
- 栈、堆、静态存储(转自http://blog.itpub.net/16856446/viewspace-612834)
- 分布式事务介绍
- ubuntu中常用软件安装
- js中(function(){…})()立即执行函数写法理解
- 1
- 分区默认segment大小变化(64k—>8M) , 11gR2中的CELL_PARTITION_LARGE_EXTENTS 参数
- 设计模式 - 代理模式