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") ...
随机推荐
- FFMPEG高级编程第一篇:环境搭建及编译
前段时间在翻看电脑里面资料时,发现了以前做的在嵌入式硬件上面运行以ffmepg为基础,以嵌入式硬件解码的多媒体播放工作,发现都快忘记完了.今日得闲整理温习了一下ffmpeg在嵌入式上的运用,这里给大家 ...
- NodeJS连接MongoDB数据库时报错
今天第一次尝试连接MongoDB数据库,具体步骤也很简单. 首先,通过NodeJS运行环境安装MongoDB包,进入要安装的目录,执行语句 npm install mongodb 安装成功后,通过如下 ...
- JS函数的参数对象arguments在严格模式下的限制
在JS中,传入的函数的参数个数可以与定义函数的个数不一致,那么对于传入的实参的引用,则是arguments对象.然而改对象在严格模式和非严格模式下是由区分的: 1 在严格模式下arguments作为了 ...
- debian 学习记录-3 -关于linux -1
来源:<Debian标准教程>王旭 著 芬兰人Linus Trovalds 1991年1月2日···· 2006年初发布内核2.6.15 使用Andrew Tanenbaum < ...
- yii2 用gii生成后台模块 view path描述
view path 格式: @backend/views/refund , 注意@和/
- json,serialze之格式
<?php echo 'array-json:' . "\n"; $arr = array('key1'=>'value1', 'key2' => 'value2 ...
- C# IO流的操作
C# IO流的操作非常重要,我们读写文件都会使用到这个技术,这里先演示一个文件内容复制的例子,简要说明C#中的IO操作. namespace ConsoleApplication1 { class P ...
- Asp.net 导入Excel数据
前台代码: <body> <form id="form1" runat="server"> <div> <asp:Fi ...
- Python和C++交互
关键字:Python 2.7,VS 2010,swig OS:Win8.1 with update. 1.下载swig:http://www.swig.org/download.html 2.将swi ...
- 从Windows远程Ubuntu
关键字:Windows,Ubuntu,Putty,WinSCP OS:Windows 7,Ubuntu. 1.下载Putty:http://www.putty.org/. 2.双击运行putty.ex ...