Android实现悬浮对话框代码

作者:MSTK 时间:2022-11-23 16:12:45 

先给大家展示下效果图,大家觉效果满意,请参考实现代码。

Android实现悬浮对话框代码

直接上代码:


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,悬浮,对话框
0
投稿

猜你喜欢

  • Spring Boot 优雅整合多数据源

    2023-08-22 16:05:07
  • Android添加用户组及自定义App权限的方法

    2022-09-15 20:08:53
  • 解析Android获取系统cpu信息,内存,版本,电量等信息的方法详解

    2023-11-20 10:50:15
  • C#实现IDisposable接口释放非托管资源

    2022-12-01 06:59:53
  • 详解Spring Security认证流程

    2022-04-16 15:48:46
  • android中强制更新app实例代码

    2023-05-23 18:42:34
  • Springboot集成Elasticsearch的步骤与相关功能

    2022-07-23 06:47:30
  • 解决Android Studio xml 格式化不自动换行的问题

    2021-09-10 06:15:42
  • 老生常谈Java动态编译(必看篇)

    2022-04-02 14:19:38
  • java加载properties文件的六种方法总结

    2023-09-20 05:24:54
  • 浅谈一下SpringCloud中Hystrix服务熔断和降级原理

    2021-10-02 08:46:41
  • Java网络编程之TCP通信完整代码示例

    2022-10-18 21:42:57
  • C#如何实现dataGridView动态绑定数据

    2022-10-26 09:23:18
  • Apache commons fileupload文件上传实例讲解

    2021-09-09 17:19:29
  • 计算一个Java对象占用字节数的方法

    2022-06-14 18:05:21
  • springboot2.x 接入阿里云市场短信发送的实现

    2023-09-20 23:03:57
  • Android使用Room操作数据库流程详解

    2023-03-21 21:00:31
  • C# 调用WebService的方法

    2022-03-19 12:42:37
  • Java方法的覆盖与隐藏的区别分析

    2021-12-19 05:15:52
  • .NET企业级项目中遇到的国际化问题和解决方法

    2022-12-03 08:18:06
  • asp之家 软件编程 m.aspxhome.com