安卓APP_ 控件(9)—— PopupWindow弹窗

摘自:安卓APP_ 控件(9)—— PopupWindow弹窗
作者:丶PURSUING
发布时间: 2021-04-05 14:41:35
网址:https://blog.csdn.net/weixin_44742824/article/details/115405555

实现效果如下:

点击触发弹窗的按钮,弹窗出现。弹窗里的按钮设置了监听事件,当点击“上海”时,弹窗不退出。点击空白处弹窗退出。因为“北京”设置了“dismiss”,所以点击“北京”直接退出弹窗。

在这里插入图片描述
具体细节还是通过代码呈现:

MainActivity.java

public class MainActivity extends AppCompatActivity {private static final String TAG = "zhua";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void zhuaClick(View view) {/*第一个参数contentView:弹窗显示的布局,在此之前要在layout创建布局.xml*/View popupView = getLayoutInflater().inflate(R.layout.popup_view, null);//添加view//为了实现popupWindow中的按钮事件,要先获取按钮监听Button btn1 = popupView.findViewById(R.id.btn1);Button btn2 = popupView.findViewById(R.id.btn2);/*1.为了方便,都用带3参或者4参的构造方法,否则后面还要用对象进行设置2.根据popupWindow的一个构造方法进行配置,宽、高可以直接写数字,比如300,300但是为了让popupWindow刚好包裹住popupView,一般如下设置:跟xml中类似,都是为了内容适应窗口3.true为获取焦点,即点空白处可以退出popupWindow*/PopupWindow popupWindow = new PopupWindow(popupView, ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT,true);/*设置这个背景会导致虚拟机崩溃?*///popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.test1));/*1.想要显示弹窗,还要调用show.2.view指的是“弹出PopupWindow”按钮,一般不使用偏移,直接显示在正下方。popupWindow.showAsDropDown(view,view.getWidth(),view.getHeight());*/popupWindow.showAsDropDown(view);//弹窗直接显示在view的正下方//设置按钮监听btn1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Log.e(TAG, "onClick: 你是住在上海吗" );}});btn2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Log.e(TAG, "onClick: 你是住在北京吗" );//一般popupWindow按钮事件点击一个选项window就消失:popupWindow.dismiss();}});/*其他:设置popupwindow显示动画,只需要传入后续所学的动画.xml就行popupWindow.setAnimationStyle(int animationStyle);*/}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56

activity_main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="弹出PopupWindow            "android:onClick="zhuaClick"/></LinearLayout>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在res下的layout创建的:popup_view.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@mipmap/ic_launcher"android:orientation="vertical"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/btn1"android:padding="10dp"android:text="上海"android:textSize="18sp"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/btn2"android:padding="10dp"android:text="北京"android:textSize="18sp"/></LinearLayout>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网址登录教程,melogincn电脑登录教程

请问melogincn使用电脑登录设置的教程&#xff1f;在电脑上怎么登陆水星(美科星)无线路由器的后台&#xff0c;通过melogincn&#xff0c;试了下发现不知道如何打开&#xff0c;求分享用melogincn用电脑登录设置的教程。使用环境描述&#xff1a;melogincn实际上应该是melogin.…

从外网给新建的Exchange 2007/2010分发通讯组发邮件失败

前几天部署Exchange2010时建立了几个通讯组邮箱&#xff0c;测试下来发现只有exchange内部组员进行邮件交流没有问题&#xff0c;外网发送到组邮箱时会收到#550 5.7.1 RESOLVER.RST.AuthRequired; authentication required ##的错误&#xff0c;当时没有找出问题原因&#xff0…

安卓APP_ 布局(1)—— LinearLayout

摘自&#xff1a;安卓APP_ 布局&#xff08;1&#xff09;—— LinearLayout 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-04-05 16:46:22 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/115442240 LinearLatout 一、orientation&#xf…

鼠标点击测试_鼠标键盘如何检测故障,这边教您简单的测试

沉迷&#xff0c;教您简单的测试鼠标故障。有线键盘和鼠标的检测步骤&#xff1a;(1)将电脑关机&#xff0c;拔插对应的连接线。(2)移除所有除了键盘和鼠标之外的设备&#xff0c;然后重启电脑。(3)重启后&#xff0c;观察鼠标的灯是否有亮。点击滚动锁定键&#xff0c;观察键盘…

影响计算机的速度有哪些,影响电脑速度的硬件有哪些

影响电脑速度的硬件有哪些?影响最直接的是cpu、内存条、硬盘。其次是主板、显卡。一、处理器cpucpu是电脑的大脑&#xff0c;是运算核心和控制核心&#xff0c;它的主要作用是处理指令和数据&#xff0c;电脑所有的硬件工作分工都市cpu分配和协调的。所以&#xff0c;cpu的层次…

atom编写python程序_编写我们的第一个Python程序,print.py

Python安装后&#xff0c;默认会安装很多功能模块&#xff0c;方便开发应用程序时调用&#xff0c;需要增加默认功能模块以外的模块时&#xff0c;使用的是PIP 这个工具&#xff0c;把需要模块安装到C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\Lib\sit…

安卓APP_ 布局(2) —— RelativeLayout相对布局

摘自&#xff1a;安卓APP_ 布局&#xff08;2) —— RelativeLayout相对布局 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-04-05 20:19:54 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/115445242 RelativeLayout 一、根据父容器定位二、…

mutli-lane情况

PCIE3.0支持x1,x2,x4,x8,x16,x32 Lane widths. 在多条Lane情况下&#xff0c;有2类symbol framing&#xff0c;一类包含Ordered Sets&#xff0c;一类是TLP和DLLP。 Ordered Sets会同时在每条Lane上传输&#xff0c;所以每条Lane都会有完整的OS. 对于TLP/DLLP来说&#xff0c;S…

win10英雄联盟登录服务器未响应,win10系统英雄联盟登陆不上的解决方法

很多小伙伴都遇到过win10系统英雄联盟登陆不上的情况&#xff0c;想必大家都遇到过win10系统英雄联盟登陆不上的情况吧&#xff0c;那么应该怎么处理win10系统英雄联盟登陆不上呢&#xff1f;我们依照1、尝试打开网页或登录QQ查看是否正常能打开/登录&#xff0c;如果可以打开可…

玩转SSRS第六篇---客户端报表进阶

上一篇介绍了客户端报表的基本开发。此篇讲介绍如何给客户端报表自定义开发数据源。 通过上一篇我们知道可以通过Dataset的方式给报表添加数据源&#xff0c;这种方式通过UI操作的方式相对来说比较简单。此外我们也可以通过其它方式为客户端报表提供数据源&#xff0c;使数据的…

安卓APP_ 布局(3) —— FrameLayout帧布局

摘自&#xff1a;安卓APP_ 布局&#xff08;3) —— FrameLayout帧布局 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-04-05 20:41:02 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/115447658 帧布局的机制 从左上角开始绘制。 若有重叠&…

wpf page 界面渲染完成后执行自动操作_Vue项目骨架屏自动生成方案(dps)

什么是骨架屏什么是骨架屏呢&#xff1f;骨架屏(Skeleton Screen)是指在页面数据加载完成前&#xff0c;先给用户展示出页面的大致结构&#xff08;灰色占位图&#xff09;&#xff0c;在拿到接口数据后渲染出实际页面内容然后替换掉。Skeleton Screen 是近两年开始流行的加载控…

js等待当前线程内ajax完成,理解javascript定时器中的单线程

一、JavaScript 引擎是单线程的可以从下面的代码中看到&#xff0c;第一个用setTimeout中的代码是死循环&#xff0c;由于是单线程&#xff0c;下面的两个定时器就没机会执行了。setTimeout( function(){ while(true){} } , 100);setTimeout( function(){ alert(你好!setTimeou…

虚拟机安装与概述(3)

创建虚拟机点击”文件“菜单——新建——”新建虚拟机“命令点击新建虚拟机&#xff0c;进入新建虚拟机向导&#xff01;配置类型选择“标准”&#xff0c;然后点击下一步打开新建虚拟机安装向导&#xff0c;安装从&#xff1a;安装盘镜像文件&#xff08;iso&#xff09;点击”…

安卓APP_ 布局(4) —— TableLayout表格布局

摘自&#xff1a;安卓APP_ 布局&#xff08;4) —— TableLayout表格布局 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-04-11 22:55:50 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/115448051 如果直接在TableLayout中写入控件&#xf…

多个文件同时写 linux sd卡_相机报错:“记忆卡已锁定”别着急,都是写保护在搞事情...

我的相机存储卡突然被锁定了&#xff01;这是什么情况&#xff1f;这个问题&#xff0c;刚刚就出现在了我的小伙伴身上。可能您也曾经遇到过这种情况&#xff0c;只是各品牌相机所提示的不同罢了&#xff0c;其主原因都是存储卡误开启了写保护。SD卡写保护是使用中比较简单却又…

道闸系统服务器价格,小区道闸系统价格服务客户

开优先功能在道闸运行过程中&#xff0c;无论闸杆是处于开闸过程、关闸过程或停止状态&#xff0c;如输出开闸信号&#xff0c;则闸杆马上执行开闸(上行)动作&#xff0c;防止因各种原因造成的砸车现象。遥控开关闸功能通过配置专用的三联电子开关和遥控电子开关&#xff0c;可…

安卓APP_ 布局(5) —— GridLayout网格布局

摘自&#xff1a;安卓APP_ 布局&#xff08;5) —— GridLayout网格布局 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-04-12 00:08:31 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/115609773 布局比表格更加灵活方便。 父容器对子控件的…

windows xp https页面找不到_Windows 提权快速查找 Exp

微软官方时刻关注列表网址&#xff1a;https://technet.microsoft.com/zh-cn/library/security/dn639106.aspx比如常用的几个已公布的exp&#xff1a;KB2592799&#xff0c;KB3000061&#xff0c;KB2592799等。快速查找未打补丁的exp&#xff0c;可以最安全的减少目标机的未知错…

安卓APP_ 布局(6) —— ConstrainLayout约束布局(重要)

摘自&#xff1a;安卓APP_ 布局&#xff08;6) —— ConstrainLayout约束布局&#xff08;重要&#xff09; 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-04-12 10:49:42 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/115610335 Constra…