安卓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
安卓APP_ 控件(9)—— PopupWindow弹窗相关推荐
- 安卓APP_ 控件(11)webView —— 简单应用:显示网页
摘自:安卓APP_ 控件(11)webView -- 简单应用:显示网页 作者:丶PURSUING 发布时间: 2021-05-11 11:50:52 网址:https://blog.csdn.net ...
- 安卓APP_ 控件(10)—— ListView可上下滑动的列表(重要)与ViewHolder优化
摘自:安卓APP_ 控件(10)-- ListView可上下滑动的列表(重要)与ViewHolder优化 作者:丶PURSUING 发布时间: 2021-04-12 23:28:27 网址:https ...
- 安卓APP_ 控件(8)—— AlertDialog
摘自:安卓APP_ 控件(8)-- AlertDialog 作者:丶PURSUING 发布时间: 2021-04-02 18:13:20 网址:https://blog.csdn.net/weixin ...
- 安卓APP_ 控件(7)——Toolbar栏目样式
摘自:安卓APP_ 控件(7)--Toolbar栏目样式 作者:丶PURSUING 发布时间: 2021-04-02 15:42:07 网址:https://blog.csdn.net/weixin_ ...
- 安卓APP_ 控件(6)—— Notification通知
摘自:安卓APP_ 控件(6)-- Notification通知 作者:丶PURSUING 发布时间: 2021-04-02 00:30:14 网址:https://blog.csdn.net/wei ...
- 安卓APP_ 控件(5)—— ProgressBar
摘自:安卓APP_ 控件(5)-- ProgressBar 作者:丶PURSUING 发布时间: 2021-03-31 13:03:07 网址:https://blog.csdn.net/weixin ...
- 安卓APP_ 控件(4)—— ImageView
摘自:安卓APP_ 控件(4)-- ImageView 作者:丶PURSUING 发布时间: 2021-03-29 21:52:06 网址:https://blog.csdn.net/weixin_4 ...
- 安卓APP_ 控件(3)—— EditText
摘自:安卓APP_ 控件(3)-- EditText 作者:丶PURSUING 发布时间: 2021-03-29 18:43:40 网址:https://blog.csdn.net/weixin_44 ...
- 安卓APP_ 控件(2)—— Button
摘自:安卓APP_ 控件(2)-- Button 作者:丶PURSUING 发布时间: 2021-03-29 14:20:54 网址:https://blog.csdn.net/weixin_4474 ...
最新文章
- Windows下批量删除旧文件、清除缓存文件、解救C盘、拒绝C盘爆炸
- Android UI开发第五篇——自定义列表
- pe修改rpc服务器不可用,ABBYY FineReader 12出现“RPC服务不可用”怎么办
- [Linux]消息队列
- java 反射调用方法_java的反射机制,以及通过反射获取方法,变量等操作
- MiniDao 比Mybatis还灵活实用的J2EE 持久层轻量级解决方案
- 利用Java调用openSMILE批量处理音频文件
- 动态加载so库的实现方法与问题处理
- 现代操作系统原理与实践03:操作系统结构
- Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换
- 仿视频字幕弹幕网站 – Miko二次元动漫视频网站源码 视频播放带源码
- spyder python下载_Spyder Python软件-Spyder Python下载-最火手机站
- ant组件中select默认选中某一项
- 等保2.0 等保二级基本要求与测评控制点
- 怎样有效提高记忆力?
- EN 13329强化木地板规范要求和试验方法
- 关于三栏式布局的几种方式
- 2021年井冈山中学高考成绩查询入口,【高考成绩】2019年高考成绩揭晓,井冈山中学取得好成绩!...
- 【JavaEE基础与高级 第42章】C3P0连接数据库操作顺序
- JWT简介、JWT优缺点、JWT使用方法、.NET6使用JWT示例、JWT与Session对比