Android实现AlertDialog自定义对话框及异常解决

 

一:概述

在我做项目的过程中有一个需要在AlertDialog中实现自定义的对话框,输入相应的信息,并存储到手机的数据库中。但是AlertDialog中的响应问题折腾了好一会,下面来解决AlertDialog中自定义控件的响应。

二:解决

项目中实现界面如图所示:(未做UI优化)

然后在获得输入之后,点击“添加”按钮需要将数据保存到数据库中。

下面是我的实现方法:

在点击“添加数据”按钮之后,会弹出上述对话框,完成添加操作,以下是我对:“添加数据”按钮的Listener方法的实现,其中包含了创建自定义对话框的步骤:

  1. 实现AlertDialog.Builder对象的创建
  2. 实现LayoutInflater对象的创建,用此加载自己自定义的对话框布局
  3. 完成相应的标题,信息,对话框布局,按钮的预设置
  4. 利用builder对象的create()方法创建Dialog
  5. Dialog的显示
  6. Dialog自定义对话框中元素的实现。

一下是我定义的全局变量,在Dialog实现的过程中会用到:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
解决Android Studio中自定义对话框显示有白边的问题,你可以尝试以下方法: 1. 检查布局文件:确保你的对话框布局文件中没有设置多余的边距或填充。检查对话框的根布局以及内部的子视图,确保它们没有额外的边距或填充。 2. 设置对话框样式:在对话框的代码中,可以尝试设置对话框的样式,以去除边距。在`AlertDialog.Builder`中使用`setStyle()`方法来设置对话框样式。 例如: ```java AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.CustomDialog); View dialogView = LayoutInflater.from(context).inflate(R.layout.dialog_layout, null); builder.setView(dialogView); AlertDialog dialog = builder.create(); dialog.show(); ``` 在`styles.xml`文件中定义自定义对话框样式: ```xml <style name="CustomDialog" parent="Theme.AppCompat.Light.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> </style> ``` 3. 动态调整对话框大小:有时,白边可能是由于对话框的尺寸与屏幕尺寸不匹配所致。可以尝试动态调整对话框的大小,使其与屏幕尺寸相匹配。 例如: ```java AlertDialog.Builder builder = new AlertDialog.Builder(context); View dialogView = LayoutInflater.from(context).inflate(R.layout.dialog_layout, null); builder.setView(dialogView); AlertDialog dialog = builder.create(); // 获取屏幕尺寸 WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(); WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); if (windowManager != null) { windowManager.getDefaultDisplay().getMetrics(new DisplayMetrics()); int screenWidth = displayMetrics.widthPixels; int screenHeight = displayMetrics.heightPixels; // 设置对话框的宽度和高度 layoutParams.copyFrom(dialog.getWindow().getAttributes()); layoutParams.width = screenWidth; layoutParams.height = screenHeight; dialog.getWindow().setAttributes(layoutParams); } dialog.show(); ``` 通过以上方法,你可以尝试解决Android Studio中自定义对话框显示有白边的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值