PopupWindow的使用

Android进阶之路 - popupWindow使用详解 popupWindow还是比较好用的一款控件,他不会像Dialog一样让内容与样式死板,他的优势就在于我们可以填充自己喜欢的样式;在使用中遮盖层是个不大不小的问题,本文已经解决,同时还有一些其他问题的解决方式,也都在代码中进行了注释,大家请直接往下看吧(PS:最后又惊喜,或许你想要的答案就在最后哦) 阅读详情

简单理解该组件就是类似弹出层的一种android组件,这种组件类似QQ的状态修改的弹出,下面就来看下这类弹出窗怎么实现

1.对于弹出窗的内容,简单的做法就是写一个布局xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:id="@+id/popstatus"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="选择用户状态"
    />
 <RadioGroup
      android:id="@+id/changestatus"
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"
      android:checkedButton="@+id/online"
     >
     <RadioButton
        android:id="@+id/online"
        android:text="在线"
        />
       <RadioButton
        android:id="@+id/offline"
        android:text="离线"
        />
         <RadioButton
        android:id="@+id/hidden"
        android:text="隐身"
        />
 </RadioGroup>
 
</LinearLayout>

2.下面就是主界面的配置文件了,这里就定义一个textview和一个按钮,点击按钮就出现弹出窗,点击单选按钮textview的内容随之改变

(1)读取布局文件

(2)实例化PopupWindow,添加单选按钮事件处理

下面是主界面文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:id="@+id/status"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="在线"
    />
   <Button
   android:id="@+id/updatestatus"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="修改状态"/>
</LinearLayout>

下面则是最主要的逻辑代码

package org.lxh.popwin;

import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.PopupWindow;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;

public class PopwinActivity extends Activity {
	private Button updatestatus = null;
	private PopupWindow popWin = null;
	private View view = null;
	private RadioGroup changestatus = null;
	private TextView status = null;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		status = (TextView) this.findViewById(R.id.status);
		updatestatus = (Button) this.findViewById(R.id.updatestatus);

		updatestatus.setOnClickListener(new View.OnClickListener() {

			public void onClick(View v) {
				LayoutInflater flate = LayoutInflater.from(PopwinActivity.this);
				view = flate.inflate(R.layout.popwin, null);
				//实例化PopupWindow
				popWin = new PopupWindow(view, 300, 200);
				changestatus = (RadioGroup) view
						.findViewById(R.id.changestatus);
				// 单选改变事件
				changestatus
						.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

							public void onCheckedChanged(RadioGroup group,
									int checkedId) {
								// 取得单选按钮
								RadioButton rButton = (RadioButton) view
										.findViewById(group
												.getCheckedRadioButtonId());
								status.setText(rButton.getText().toString());
								//关闭弹出窗口
								popWin.dismiss();
							}
						});
				//显示弹出窗口
				popWin.showAtLocation(updatestatus, Gravity.CENTER, 0, 0);
			}
		});

	}
}

很简单吧,看下效果图吧


基于N32G003的PMBus从机协议栈设计与STM32F103模拟I2C主机通信实战 本文详细介绍了基于N32G003微控制器设计PMBus从机协议栈,并与STM32F103模拟I2C主机进行通信的实战方案。重点阐述了中断驱动架构、命令解析、CRC8优化及超时恢复机制,实现了在70kHz速率下稳定可靠的工业电源管理通信,适用于服务器电源、通信基站等成本敏感应用场景。 阅读详情

相关推荐

HDFView安装及使用教程

简介:直接用记事本打开hdf5文件的话,是一团乱码。HDFView是用来查看hdf5文件的软件,可以免费使用,好多人都有闪退的情况,这是因为没有添加环境变量。

qq_43722079的博客 7万+

PopWindow使用方法详解

PopWindow 是一个可以在Activity 之上显示任意View的控件。在Android经常使用,效果跟Dialog 效果类似,不同点在于可以控制显示的位置,比如底部显示等。 继承关系 使用方法 底部Popwindow的实现 1. 继承关系 PopWindow 继承关系如下: java.lang.Object ↳ android.widget.PopupWi...

程序员Android 2万+

信息学奥赛一本通高手训练1680:序列

题目 代码 #include<cstdio> #include<iostream> #include<cmath> #define LL long long using namespace std; const LL N = 1400000+7; const LL mod = 1e9+7; int n, t; LL pos[N], sum[N], ans[N]; struct node{ LL ll, rr; }a[N]; int main(){ p

qingfeixueyue的博客 468

PopUpWindow使用详解(一)——基本使用

前言:不要嫌前进的慢,只要一直在前进就好。 相关文章: 1、《PopUpWindow使用详解(一)——基本使用》 2、《PopUpWindow使用详解(二)——进阶及答疑》 有同学讲到想要知道PopUpWindow的知识,这里就给大家讲一讲PopUpWindow的基本用法和原理吧。这段时间博客可能会更新比较慢,因为你懂的 !!-_- ,往左看公告,嘿嘿。 先看一下我们要做的效果...

启舰 17万+

运放+三极管恒流源电路设计实战:从原理到仿真一步到位(附Multisim文件)

本文详细解析了运放与三极管构建恒流源电路的核心原理,重点阐述了负反馈机制如何实现精准的电流控制。通过Multisim仿真实战,从电路搭建、参数计算到负载调整率与动态响应分析,一步步指导设计过程,并提供常见故障的调试技巧与PCB设计要点,帮助工程师从理论平稳过渡到可靠实践。

7z8x2c4v6b9的博客 711

命令行删除描述文件_写一个删除lock文件的skill脚本

来源:IC技能搬运工 作者:小目Cadence软件使用过程中偶尔会遇到文件被lock的情况,这是Cadence软件对文件的一种保护措施,大部分情况都是对用户友好的,但是偶尔也会给用户带来困扰,给工作带来的一定的不便。文件是如何被锁的Cadence在用户打开文件进行编辑的时候会在文件的同一级目录新建一个lock文件,用来标识文件的状态。一般情况下如果文件被正常关闭,这个lock文件会在...

weixin_39781452的博客 1352

如何自定义菜单(点击菜单键,弹出一个popwindow)

MainActivitypackage com.example.zdymenu;import android.app.Activity; import android.content.Context; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import android.view.Gravi

Android_Study_OK的博客 2661

微信小程序使用TCP通信

最终目的:在微信小程序内实现对局域网发起TCP通信实现步骤:建立TCP服务 + 小程序发起通信。

Big_YiFeng的博客 5612

PopUpWindow使用详解(二)——进阶及答疑

前言:有人问我,即便梦想成真了又能怎样,或许不能怎样,但这是梦想。 相关文章:1、《PopUpWindow使用详解(一)——基本使用》2、《PopUpWindow使用详解(二)——进阶及答疑》 上篇为大家基本讲述了有关PopupWindow的基本使用,但还有几个相关函数还没有讲述,我们这篇将着重看看这几个函数的用法并结合源码来讲讲具体原因,最后是有关PopupWindow在使用时的疑...

启舰 3万+

YOLOv11 知识蒸馏完整实战:Teacher–Student 训练策略与性能飞跃

在self.alpha = alpha # 蒸馏损失权重self.temperature = temperature # 温度系数,控制分布平滑度# 输出分布蒸馏(KL散度损失)# 中间特征蒸馏(MSE损失,对齐中间层特征)# 总蒸馏损失知识蒸馏是YOLOv11在“小模型高性能部署”场景的“破局之法”——它让小模型能“站在大模型的肩膀上”,兼具速度与精度。从损失函数定义到多阶段训练,再到实战落地,本教程已为你铺就了一条清晰的路径。

m0_64661770的博客 141

最新Anaconda3的安装配置及使用教程(详细过程)

最新Anaconda3安装使用Anaconda下载方式一:官网下载方式二:清华镜像下载(推荐)Anaconda安装 Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项 Anaconda + Jupyter 基本上已经是大部分机器学习/数据分析等开发者标配的开发环境, 不多介绍,直接进去正题: Anaconda下载 方式一:官网下载 下载地址传送门: 官网首页:https://www.anaconda.com/ 官网下载页:https://www

HowieXue 薛永浩的博客 34万+

popupWindow 的使用方法

这段时间一直在玩PopupWindow,前段时间做了一个仿淘宝旅行日期选择的上拉PopupWindow 的小demo,但是其日期选择我没有实现,这个还是有一定的难度,我只是实现了其动画效果,做这个东西做了我两天,由于对PopuWindow不是很熟悉,再加上被一个粗心的错误困恼了一段时间(我发现大部分的bug都是来自于程序员的自我粗心,而不是 代码的逻辑错误,我觉得代码的逻辑错误才算的上是真正的b

zkw12358的专栏 4283

2026华为OD机考新系统真题 + 双机位C卷 + 往年真题 - 题库目录分值说明 + 考点说明+在线OJ

2026年4月1日起,华为OD机试正式切换至新系统模式!采用力扣模式,无需自己写输入! 难度大幅度降低。正在备考华为OD机试的同学,优先刷新系统机试真题,可大幅提升通过率。 新系统考题考点与旧版一致,无需重新适应。本专栏所有算法题均配有详细思路解析,并提供C语言、JS、C++、Python、Go、Java多语言源码实现。订阅后私信即可开通专属OJ刷题权限,高效备考一次上岸!

算法大师! 45万+

PopupWindow的一些使用总结

这是我在使用PopupWindow过程中的一点小经验

doon的专栏 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

安卓开发popupWindow的使用

是 Android 系统提供的弹窗容器组件,核心作用是在当前页面的任意位置弹出一个悬浮视图,用于展示额外内容、提供操作选项或临时交互,不占用固定布局位置。popupWindow常用来做筛选栏,我们就以下面的效果为例,学习popupWindow的基本用法下面先写一个xml文件,先写出筛选栏 接下来定义每个筛选栏的下拉菜单,这里简单用一个ListView展示即可 下面直接抛对应活动的代码 代码整体比较多,我们一点点来拆解。首先加载出popupWindow的菜单布局popupView然后进行初始化,popupWi

2401_86909484的博客 799

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

java popupwindow_PopupWindow 使用详解

阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:PopupWindow 继承关系PopupWindow 使用方法PopupWindow 底部PopupWindow的实现PopupWindow 是一个可以在Activity之上显示任意View的控件。在Android经常使用,效果跟Dia...

weixin_35762258的博客 435

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Android PopupWindow使用方法小结

经常使用PopupWindow的小伙伴请看这里:PopupWindow小总结 传送门

梁超杰 425

PopupWindow的简单使用

PopupWindow是一个弹框的效果,他可以在点击某一个控件的时候弹出一个信息。     它得使用两个布局来实现,一个是父布局,另一个是需要弹出的布局。      废话不多说,直接上代码 两个布局: 1、 xml version="1.0" encoding="utf-8"?> RelativeLayout xmlns:android="http://schem

Cattle_Wei的博客 502

PopupWindow 最基础的使用方法

PopupWindow 最基础的使用方法 点击弹出一些条目 所以得写一个布局文件来装这些控件,这个布局文件就写你点击后想出现的界面 例如 在这里插入代码片 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:la

ZGxiang_的博客 313

【Android】【PopupWindow】的使用

【PopupWindow】的使用和【Dialog】差不多,感觉在实际开发中还是使用Dialog多一点。 1.创建布局 view_popupwin.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" and

每天不是在写bug就是在写bug的路上 3265

PopupWindow案例 PopUpWindow+ListView 使用

1. PopupWindow Api理解: PopupWindow popupWindow=null; View pView=null; public void showPopWindow(View view){ if(popupWindow==null){ // 加载布局 pView =View.inflate(this,R.layout.popup...

dreams_deng的博客 1029

android java Popupwindow的使用

【代码】android java Popupwindow的使用。

awildpig110的博客 465

Popupwindow的简单使用

本文简单地介绍Popupwindow的使用方法 public class MainActivity extends AppCompatActivity { PopupWindow popupWindow;//初始化定义Popupwindow @Override protected void onCreate(Bundle savedInstanceState) { ...

u014131314的博客 278

android中popupwindow,Android PopupWindow使用

最近项目中使用到了PopupWindow,记录下效果图刚开始是想用dialog来实现的,后面想了下最终还是用了PopupWindow来实现首先使用的PopupWindow的地方比较多,用了一个管理类,代码如下:package ***;import android.view.View;import android.view.ViewGroup;/*** Des: PopupWindow管理类* Cr...

weixin_42506884的博客 389
上一篇: android选项卡
下一篇: android文件存储
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值