Android实现悬浮对话框代码
作者:MSTK 时间:2022-11-23 16:12:45
先给大家展示下效果图,大家觉效果满意,请参考实现代码。
直接上代码:
private void setDialog(){
View view = getLayoutInflater().inflate(R.layout.dialog_country, null);
mDialog = new Dialog(this);
mDialog.setContentView(view, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
Window window = mDialog.getWindow();
WindowManager.LayoutParams wl = window.getAttributes();
wl.x = 0;
wl.y = getWindowManager().getDefaultDisplay().getHeight();
wl.width = ViewGroup.LayoutParams.MATCH_PARENT;
wl.height = ViewGroup.LayoutParams.WRAP_CONTENT;
mDialog.onWindowAttributesChanged(wl);
mDialog.setCanceledOnTouchOutside(true);
mDialog.show();
Button btnChina = (Button) view.findViewById(R.id.btnChina);
Button btnUSA = (Button) view.findViewById(R.id.btnUSA);
Button btnUK = (Button) view.findViewById(R.id.btnUK);
Button btnCancel = (Button) view.findViewById(R.id.btnCancel);
btnChina.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mQuery.id(R.id.btnCountry).getTextView().setText("China");
mDialog.dismiss();
}
});
btnUSA.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mQuery.id(R.id.btnCountry).getTextView().setText("USA");
mDialog.dismiss();
}
});
btnUK.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mQuery.id(R.id.btnCountry).getTextView().setText("UK");
mDialog.dismiss();
}
});
btnCancel.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mDialog.dismiss();
}
});
}
首先inflate一个xml文件,产生一个view;再创建一个Dialog,设置Dialog的View为inflate的view;然后通过WindowManager.LayoutParams设置Dialog的长度、宽度、显示的位置等等,最后setCanceledOnTouchOutside(true),点击其他地方可以退出Dialog。
标签:android,悬浮,对话框
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Spring Boot 优雅整合多数据源
2023-08-22 16:05:07
Android添加用户组及自定义App权限的方法
2022-09-15 20:08:53
![](https://img.aspxhome.com/file/2023/8/117118_0s.jpg)
解析Android获取系统cpu信息,内存,版本,电量等信息的方法详解
2023-11-20 10:50:15
C#实现IDisposable接口释放非托管资源
2022-12-01 06:59:53
详解Spring Security认证流程
2022-04-16 15:48:46
![](https://img.aspxhome.com/file/2023/2/83502_0s.png)
android中强制更新app实例代码
2023-05-23 18:42:34
![](https://img.aspxhome.com/file/2023/6/116006_0s.gif)
Springboot集成Elasticsearch的步骤与相关功能
2022-07-23 06:47:30
![](https://img.aspxhome.com/file/2023/8/70488_0s.png)
解决Android Studio xml 格式化不自动换行的问题
2021-09-10 06:15:42
![](https://img.aspxhome.com/file/2023/9/88669_0s.jpg)
老生常谈Java动态编译(必看篇)
2022-04-02 14:19:38
![](https://img.aspxhome.com/file/2023/8/91748_0s.png)
java加载properties文件的六种方法总结
2023-09-20 05:24:54
![](https://img.aspxhome.com/file/2023/9/64809_0s.png)
浅谈一下SpringCloud中Hystrix服务熔断和降级原理
2021-10-02 08:46:41
![](https://img.aspxhome.com/file/2023/6/129196_0s.jpg)
Java网络编程之TCP通信完整代码示例
2022-10-18 21:42:57
![](https://img.aspxhome.com/file/2023/2/71892_0s.gif)
C#如何实现dataGridView动态绑定数据
2022-10-26 09:23:18
Apache commons fileupload文件上传实例讲解
2021-09-09 17:19:29
![](https://img.aspxhome.com/file/2023/5/97795_0s.png)
计算一个Java对象占用字节数的方法
2022-06-14 18:05:21
![](https://img.aspxhome.com/file/2023/7/64887_0s.jpg)
springboot2.x 接入阿里云市场短信发送的实现
2023-09-20 23:03:57
![](https://img.aspxhome.com/file/2023/3/58593_0s.png)
Android使用Room操作数据库流程详解
2023-03-21 21:00:31
C# 调用WebService的方法
2022-03-19 12:42:37
![](https://img.aspxhome.com/file/2023/2/89852_0s.png)
Java方法的覆盖与隐藏的区别分析
2021-12-19 05:15:52
.NET企业级项目中遇到的国际化问题和解决方法
2022-12-03 08:18:06