Android编程实现的自定义弹窗(PopupWindow)功能示例
本文实例讲述了Android编程实现的自定义弹窗(PopupWindow)功能。分享给大家供大家参考,具体如下:
在开发过程中,如果要弹出一个对话框,一般是使用AlertDialog
,但其使用限制太大,灵活性不够,所以我们常需要用到灵活性更高的PopupWindow
,
如图,当点击显示的时候,就会弹出一个对话框,当点击确定或屏幕其它任意地方,就可以将PopupWindow取消了,接下来贴出重要代码。
PopupWindow pw = new PopupWindow(view.getContext); pw.setTouchInterceptor(OnTouchListener);//set后点击屏幕任意地方可取消PopupWindow pw.setWidth(width);//设置PopupWindow的宽,不用多说了 pw.setHeight(height); pw.setContentView(view);//设置PopupWindow的View
对PopupWindow中Button的事件监听没有什么特别之处,与往常一样,
最后就是要显示PopupWindow了:
pw.showAtLocation(findViewById(R.id.linear), Gravity.CENTER, 0, 0); //此处表示相对父元素完全居中显示。
好了,一个最简单的PopupWindow的实现就完成了,以后若有更详细,更复杂的方法,大家一起学习。
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
相关推荐
-
Android实现底部弹窗效果
本文实例为大家分享了Android实现底部弹窗效果的具体代码,供大家参考,具体内容如下 源代码地址:https://github.com/luoye123/Box 东西很简单,我就直接亮代码了: 1.activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
-
Android仿支付宝支付从底部弹窗效果
我们再用支付宝支付的时候,会从底部弹上来一个对话框,让我们选择支付方式等等,今天我们就来慢慢实现这个功能 效果图 实现 主界面很简单,就是一个按钮,点击后跳到支付详情的Fragment中 package com.example.hfs.alipayuidemo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.wi
-
Android程序开发仿新版QQ锁屏下弹窗功能
新版的qq,可以在锁屏下弹窗显示qq消息,正好目前在做的项目也需要这一功能.经过各种试验和资料查找,终于实现,过程不难,但是却有一些地方需要注意. 下面是实现过程. 1.使用Activity,而不是View QQ的弹窗一开始我以为是悬浮View,用WindowManager去添加,但是无论如何就是不显示,后来在朋友提示下换成Activity来实现,在锁屏状态下就能弹窗了. 2.Activity的设置 Activity需要进行以下设置,才可以在锁屏状态下弹窗. 首先是onCreate方法,需要添加
-
Android监听输入法弹窗和关闭的实现方法
用过ios的都知道ios上输入法关闭的同时会自动关闭输入框,那么在android上如何实现监听输入法弹出和关闭呢?本篇文章就为你提供了一种可靠的实现方式. 演示效果视频地址 首先在AndroidManifest中配置 android:windowSoftInputMode="adjustResize" 这样每次输入法弹出和关闭都会重新计算高度实现把布局顶上去的效果 然后我们要自定义一个布局,监听布局大小变化 public class CheckSoftInputLayout exten
-
Android自定义带增长动画和点击弹窗提示效果的柱状图DEMO
项目中最近用到各种图表,本来打算用第三方的,例如MPAndroid,这是一个十分强大的图表库,应用起来十分方便,但是最终发现和设计不太一样,没办法,只能自己写了.今天将写好的柱状图的demo贴在这,该柱状图可根据数据的功能有一下几点: 1. 根据数据的多少,动态的绘制柱状图柱子的条数: 2. 柱状图每条柱子的绘制都有动态的动画效果: 3. 每条柱子有点击事件,点击时弹出提示框,显示相关信息,规定时间后,弹窗自动消失. 好了,先上演示图: 下边贴出相关代码: 自定义柱状图类: package co
-
Android屏幕锁屏弹窗的正确姿势DEMO详解
在上篇文章给大家介绍了Android程序开发仿新版QQ锁屏下弹窗功能.今天通过本文给大家分享android锁屏弹窗的正确姿势. 最近在做一个关于屏幕锁屏悬浮窗的功能,于是在网上搜索了很多安卓屏幕锁屏的相关资料,鉴于网上的资料比较零碎,所以我在这里进行整理总结.本文将从以下两点对屏幕锁屏进行解析: 1. 如何监听系统屏幕锁屏 2. 如何在锁屏界面弹出悬浮窗 如何监听系统屏幕锁屏 经过总结,监听系统的锁屏可以通过以下两种方式: 1) 代码直接判定 2) 接收广播 1) 代码直接判定 代码判断方式,也
-
Android UI设计之AlertDialog弹窗控件
有关android的弹窗界面相信大家见过不少了,手机上很多应用软件都涉及到弹窗控件,比如典型的每次删除一个图片或者卸载一个等都会弹出一个窗口询问是否删除/卸载等,还有我们系统的设置时间/日期等,都用到了这样的控件,下面我将通过代码来总结下常用的几个弹窗控件 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:/
-
Android实现底部支付弹窗效果
Android底部支付弹窗实现的效果: 实现的思路: 1.通过继承PopupWindow自定义View来达到弹窗的弹出效果: 2.通过回调将输入的密码由弹窗传入到主界面中: 2.恩,这就够了-->有些注意点在代码中备注: 自定义View的代码: public class BottomDialogView extends PopupWindow { private View dialogView; private EditText payPassEt; private Button cancelB
-
Android仿支付宝微信支付密码界面弹窗封装dialog
一,功能效果 二,实现过程 1,先写xml文件:dialog_keyboard.xml 注意事项 (1),密码部分用的是一个线性布局中6个TextView,并设置android:inputType="numberPassword",外框是用的一个有stroke属性的shape, (2),1-9数字是用的recycleview ,每个item的底部和右边有1dp的黑线,填充后形成分割线. (3),recycleview 要设置属性 android:overScrollMode=&quo
-
Android控件PopupWindow模仿ios底部弹窗
前言 在H5火热的时代,许多框架都出了底部弹窗的控件,在H5被称为弹出菜单ActionSheet,今天我们也来模仿一个ios的底部弹窗,取材于苹果QQ的选择头像功能. 正文 废话不多说,先来个今天要实现的效果图 整个PopupWindow的开启代码 private void openPopupWindow(View v) { //防止重复按按钮 if (popupWindow != null && popupWindow.isShowing()) { return; } //设置Popup
随机推荐
- 让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
- 详细介绍RxJS在Angular中的应用
- PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
- ASP小偷程序如何利用XMLHTTP实现表单的提交
- 超酷的网页音乐播放器DewPlayer使用方法
- 在AngularJS中使用AJAX的方法
- vb.net读写文件代码
- 防止黑客用TTL值鉴别你的系统的批处理文件
- PHP文件及文件夹操作之创建、删除、移动、复制
- php简单实现批量上传图片的方法
- PHP网站备份程序代码分享
- PHP中each与list用法分析
- js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
- Nginx+Lua+Redis构建高并发Web应用
- 原生的强大DOM选择器querySelector介绍
- 各浏览器对link标签onload/onreadystatechange事件支持的差异分析
- bootstrap table分页模板和获取表中的ID方法
- java必学必会之equals方法
- c#根据文件类型获取相关类型图标的方法代码
- 使用C#开发ActiveX控件