Android 使用 popupWindow实现弹层并操作弹层元素
需求:
点页面,出现弹层,弹层包含EditText,Button等,点击Button实现提交操作;
最终代码:
private PopupWindow popupWindow ;
private EditText gfName;
private View popView;
private Button addGf; protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//
popView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.popup_add_gf, null); gfName = (EditText)popView.findViewById(R.id.gfname);
addGf = (Button)popView.findViewById(R.id.addgf); // 创建PopupWindow对象
popupWindow = new PopupWindow(popView, 600, 800); //指定高度宽度
// popupWindow = new PopupWindow(popView,LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT, true);//充满屏幕 // 为弹出框设定自定义的布局
popupWindow.setContentView(popView);
// 使其聚焦
popupWindow.setFocusable(true);
// 设置允许在外点击消失
popupWindow.setOutsideTouchable(true);
// 这个是为了点击“返回Back”也能使其消失,并且并不会影响你的背景
popupWindow.setBackgroundDrawable(new BitmapDrawable());
addGf.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i(TAG,"Button onClick");
}
gfName.setText(addressName);
遇到的问题及解决:
1、操作编辑框setText 及按钮setOnClickListener 时报错,空指针。
解决:初始化元素时要指定view,如:
gfName = (EditText)popView.findViewById(R.id.gfname);
不要这样:
mapView = (MapView) findViewById(R.id.map);
接下来就是对弹层的美化了,参考:
兑现半透明的popupwindow的源码
http://www.myexception.cn/mobile/620613.html
展示PopupWindow
http://www.myexception.cn/mobile/430920.html
Android popupwindow 实现登录账户选择
http://hi.baidu.com/guoxiaoming/item/5b0b165d017efa3e33e0a9f2
android(九种对话框)的实现方式
http://www.2cto.com/kf/201204/128926.html
Android 使用 popupWindow实现弹层并操作弹层元素的更多相关文章
- Android 使用PopupWindow实现弹出菜单
在本文当中,我将会与大家分享一个封装了PopupWindow实现弹出菜单的类,并说明它的实现与使用. 因对界面的需求,android原生的弹出菜单已不能满足我们的需求,自定义菜单成了我们的唯一选择,在 ...
- 5、 LwIP协议栈规范翻译——操作系统仿真层
为了使lwIP可移植,操作系统特定的函数调用和数据结构不直接在协议的代码中使用.相反,当需要这样的函数调用和数据结构时,直接使用操作系统仿真层. 操作系统仿真层为操作系统服务提供统一的接口,如定时器, ...
- Android开发 PopupWindow弹窗调用第三方地图(百度,高德)实现导航功能
博客描述:后台返回地点的经纬度在地图上进行描点,点击导航弹出PopupWindow进行选择地图操作,如果手机中没有安装地图,提示没有,否则传值调起地图进行导航操作 看一下实现的效果,没图说再多都白搭 ...
- android dialog,popupwindow,toast窗口的添加机制
Dialog 窗口添加机制 代码示例 首先举两个例子: 例子1 在Activity中 @OnClick(R.id.but) void onClick() { Log.d("LiaBin&qu ...
- JavaScript DOM编程基础精华03(动态设置,层的操作,性能问题)
代码是否需要放置到onload中 //如果js代码需要操作页面上的元素,则将该代码放到onload里面. //因为当页面加载完毕之后页面上才会有相关的元素 //如果js代码中没有操作 ...
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6642463 在前面几篇文章中,我们详细介绍了A ...
- 用PopupWindow实现弹出菜单(弹出的菜单采用自定义布局)
用PopupWindow实现弹出菜单是一个比较好的方式.当然我们还有一个类PopupMenu也能实现弹出菜单,但那个太过于局限了,所以不是很推荐. 这个实例的效果是这样的:点击按钮后,一个菜 ...
- Android:日常学习笔记(10)———使用LitePal操作数据库
Android:日常学习笔记(10)———使用LitePal操作数据库 引入LitePal 什么是LitePal LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式 ...
- selenium移动div里面的滚动条,操作弹出对话框
还是使用js来移动 首先要定位到这个元素 倾向于使用js来定位元素,输入下面的脚本,按下回车键,即可在调试页面看到对应的div块$("div.table-responsive") ...
随机推荐
- iOS崩溃日志分析
Incident Identifier: 55864905-937C-4172-B435-2ACA13D3070ECrashReporter Key: b85cab13431711060a5fab55 ...
- C#中常用修饰符
1.存取修饰符 public:(公有的)存取不受限制 protected:(受保护的)只有包含该成员的类以及派生类可以存取 private:(私有的)只有包含该成员的类可以使用 2.类修饰符 abs ...
- OCI_ERROE - errcode[1591],errmsg[ORA-01591:
CEASYDAO: 错误码[1591],错误信息[Error - OCI_ERROE - errcode[1591],errmsg[ORA-01591: lock held by in-doubt d ...
- QtSQL学习笔记(2)- 连接到数据库
要使用QSqlQuery或者QSqlQueryModel访问一个数据库,首先需要创建并打开一个或多个数据库连接(database connections). 一般地,数据库连接是根据连接名(conne ...
- mysql---多表关联
首先要介绍一下集合的概念:集合具有无序性.唯一性. 无序性:指集合内部元素没有相对顺序的概念,对于两个集合而言,只要元素值和元素个数相同则两个集合相等. 唯一性:指集合内部元素不存在值相等的元素. 上 ...
- PHP权限分配思路
常见四种方式1.用户+组+角色+权限2.用户+组+权限3.用户+角色+权限(最多用)4.用户+权限以第三种为例:权限:用户操作的具体事件:如curd角色:指一类用户拥有的权限,如超级管理员,管理员,普 ...
- memcached全面剖析--5
memcached的应用和兼容程序 mixi案例研究 mixi在提供服务的初期阶段就使用了memcached. 随着网站访问量的急剧增加,单纯为数据库添加slave已无法满足需要,因此引入了memca ...
- [C#]判断字符串中是否包含中文
关键代码: /// <summary> /// 判断字符串中是否包含中文 /// </summary> /// <param name="str"&g ...
- php 中文字符串首字母的获取函数
这篇文章介绍了php 中文字符串首字母的获取函数,有需要的朋友可以参考一下 function chineseFirst($str) { $str= iconv("UTF-8",&q ...
- MapReduce多表连接
多表关联 多表关联和单表关联类似,它也是通过对原始数据进行一定的处理,从其中挖掘出关心的信息.下面进入这个实例. 1 实例描述 输入是两个文件,一个代表工厂表,包含工厂名列和地址编号列:另一个代表地址 ...