widget(7、dialog)
dialog是android的对话框控件,包括:
- 警告对话框:AlertDialog
- 进度对话框:ProgressDialog
- 日期选择对话框:DatePickerDialog
- 时间选择对话框:TimePickerDialog
- 自定义对话框:从Dialog继承
通过AlertDialog,我们可以实现普通式、列表式及自定义等。下面给出两个典型例子:
- 普通式:
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setIcon(R.drawable.ic_launcher); //设置图标 builder.setTitle("错误提示"); //设置标题栏 builder.setMessage("数据库读取错误"); //对话框内容 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { //确认按键的事件触发 @Override public void onClick(DialogInterface dialog, int which) { Toast t = Toast.makeText(getApplicationContext(), "确定", Toast.LENGTH_LONG); t.show(); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener(){ //取消按键的事件触发 @Override public void onClick(DialogInterface dialog, int which) { Toast t = Toast.makeText(getApplicationContext(), "取消", Toast.LENGTH_LONG); t.show(); } }); builder.create().show();
- 自定义输入
- 定义一个layout
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" > <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="21dp" android:ems="10" /> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/editText1" android:layout_below="@+id/editText1" android:layout_marginTop="15dp" android:ems="10" android:inputType="textPersonName" /> </RelativeLayout>
-
- 在构造时动态生成视图,如下:
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE); final View view = inflater.inflate(R.layout.dialog_input, null); builder.setIcon(R.drawable.ic_launcher); builder.setTitle("输入框"); builder.setView(view);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)