Android Dialog对话框实战教程
157 浏览量
更新于2024-09-01
1
收藏 68KB PDF 举报
"这篇教程详细讲解了Android Dialog对话框的使用,通过实例代码展示了如何创建、自定义以及应用系统样式的对话框。"
在Android开发中,Dialog对话框是一种常用的用户交互元素,它用于在主界面之上弹出一个小窗口,显示额外的信息或请求用户的输入。以下是对`Dialog`的基本使用和系统样式的详细解释:
### Dialog的基本方法
1. 创建Dialog
创建Dialog通常使用`AlertDialog.Builder`类,传入上下文(如Activity)来初始化:
```java
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
```
2. 设置标题图标
使用`setIcon()`方法可以设置对话框的图标,参数是资源ID:
```java
builder.setIcon(R.drawable.ic_launcher);
```
3. 设置标题
通过`setTitle()`方法设定对话框的标题文本:
```java
builder.setTitle("这是一个对话框");
```
4. 设置信息
`setMessage()`方法用于显示对话框中的内容信息:
```java
builder.setMessage("是否要跳转?");
```
5. 设置按钮
- 确定按钮:使用`setPositiveButton()`,传入按钮文本和点击监听器:
```java
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 确定按钮的处理逻辑
}
});
```
- 取消按钮:同样地,使用`setNegativeButton()`设置取消按钮:
```java
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 取消按钮的处理逻辑
}
});
```
- 中立按钮:`setNeutralButton()`可以用来设置第三个按钮,通常用于提供其他选项:
```java
builder.setNeutralButton("忽略", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 中立按钮的处理逻辑
}
});
```
6. 显示对话框
最后,调用`show()`方法显示已构建的对话框:
```java
builder.show();
```
### 系统样式
#### 下拉列表
为了创建带有下拉列表的Dialog,可以使用`Items`方法:
```java
final String[] cities = {"北京", "上海", "广州", "深圳", "杭州"};
builder.setItems(cities, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "你选择的城市为:" + cities[which], Toast.LENGTH_SHORT).show();
}
});
```
在这个例子中,`cities`数组是下拉列表的数据源,当用户选择一个项时,会触发`onClick()`方法并显示相应的Toast消息。
以上就是Android Dialog对话框的基本使用方法和系统样式。在实际开发中,还可以根据需求自定义对话框的布局,添加更多的交互元素,或者改变按钮的样式等,以满足各种用户界面的需求。
2019-07-29 上传
2014-01-08 上传
133 浏览量
171 浏览量
479 浏览量
160 浏览量
130 浏览量
158 浏览量
weixin_38663029
- 粉丝: 8
- 资源: 948
最新资源
- SCWCD 310-083 最新题目
- mysql常用命令 mysql5.0
- 机械工程专业外语完美翻译
- ajax框架:dwr》实战(包括整合).pdf
- java线程池完整代码
- Schema 初级教程
- java面试题 面试必备
- 基于plc立体车库的研究
- oracle数据表导入导出
- 你必须知道的C#的25个基础概念
- Javascript、Css、Html下拉式折叠菜单
- 中文学习资料SMARTFORM
- datastage 学生用书
- ARM9 广嵌GEC2410开发板v1.1用户手册
- Relational Database Management Systems,Database Design, and GIS
- 当前软件发展状况很使用