当前位置:网站首页>alertDialog創建对话框
alertDialog創建对话框
2022-07-07 15:40:00 【XLMN】
alertDialog創建对话框
alertDialog生成对话框可以分为以下4个区域
1、图标区
2、标题区
3、内容区
4、按钮区
public class MainActivity extends Activity {
private ClipboardManager show;
String[] items = new String[]{
“列表项1”,
“列表项2”,
“列表项3”,
“列表项4”
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alertdialog);
}
public void simple(View source) {
AlertDialog.Builder builder = new AlertDialog.Builder(this)
//设置对话框标题
.setTitle("简单对话框")
//设置图标
.setIcon(R.drawable.mia3)
.setMessage("对话框第二行测试内容/n");
//为alterDalog.builder添加“确定”按钮
setPositiveButton(builder);
//为alterDalog.builer添加取消按钮
setNegativeButton(builder).create().show();
}
private AlertDialog.Builder setPositiveButton(AlertDialog.Builder builder) {
//调用setpostivitybutton方法添加确定按钮
return builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
show.setText("单击了【确定】按钮");
}
});
}
private AlertDialog.Builder setNegativeButton(AlertDialog.Builder builder) {
return builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
show.setText("单击了【取消】按钮");
}
});
}
public void simpleList(View source) {
AlertDialog.Builder builder = new AlertDialog.Builder(this)
//设置对话框标题
.setTitle("简单列表项对话框")
//设置图标
.setIcon(R.drawable.mia3)
//设置简单的列表项内容
.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
show.setText("你选中了《" + items[which] + "》");
}
});
//为alertdialog.builder添加“确定”按钮
setPositiveButton(builder);
//为alertdialog.builder添加“取消”按钮
setNegativeButton(builder).create().show();
}
public void singleChoice(View source) {
AlertDialog.Builder builder = new AlertDialog.Builder(this)
//设置对话框标题
.setTitle("单选列表项对话框")
//设置图标
.setIcon(R.drawable.mia3)
//设置单选列表项,默认选中第二项(索引为1)
.setSingleChoiceItems(items, 1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
show.setText("你选中了《" + items[which] + "》");
}
});
//为AlertDialog.builder 添加“确定”按钮
setPositiveButton(builder);
//为AlertDialog.builder添加“取消”按钮
setNegativeButton(builder)
.create().show();
}
public void multiChoice(View source) {
AlertDialog.Builder builder = new AlertDialog.Builder(this)
//设置对话框标题
.setTitle("多选列表项对话框")
//设置图标
.setIcon(R.drawable.mia3)
//设置多选列表项,设置勾选第二项,第四项
.setMultiChoiceItems(items, new boolean[]{false, true, false, true}, null);
//为alertDialog.Builder添加“确定”按钮
setPositiveButton(builder);
//为alertDialog.builder添加“取消”按钮
setNegativeButton(builder)
.create().show();
}
public void customList(View source) {
AlertDialog.Builder builder = new AlertDialog.Builder(this)
//设置对话框标题
.setTitle("自定义列表对话框")
//设置图标
.setIcon(R.drawable.mia3)
//设置自定义列表项
.setAdapter(new ArrayAdapter<String>(this, R.layout.array_item, items), null);
//为alertdialog.builder添加“确定”按钮
setPositiveButton(builder);
//为alertdialog.builder添加“取消”按钮
setNegativeButton(builder).create().show();
}
public void customView(View source) {
// 加载界面布局文件
TableLayout tl = (TableLayout) getLayoutInflater().inflate(R.layout.login, null);
new AlertDialog.Builder(this)
// 设置对话框图标
.setIcon(R.drawable.mia3)
// 设置对话框标题
.setTitle(“自定义对话框”)
// 设置对话框的view对象
.setView(tl)
// 为对话框设置一个确定按钮
.setPositiveButton(“登录”, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//此处可执行登录处理
}
})
// 为对话框设置一个取消按钮
.setNegativeButton(“取消”, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//取消登录不进行任何操作
}
})
//創建并显示对话框
.create().show();
}
}
<?xml version="1.0" encoding="utf-8"?><Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="customList"
android:text="自定义列表对话框"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="customView"
android:text="自定义view对话框"/>
<?xml version="1.0" encoding="utf-8"?> <TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="用户名"
android:textSize="10pt" />
<!--输入用户名文本框-->
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请填写登录账号"
android:selectAllOnFocus="true" />
</TableRow>
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="密码"
android:textSize="10pt" />
<!--输入密码的文本框-->
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请填写密码"
android:password="true" />
</TableRow>
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="电话号码"
android:textSize="10pt" />
<!--输入电话号码的文本框-->
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请填写您的密码"
android:selectAllOnFocus="true"
android:phoneNumber="true" />
</TableRow>
边栏推荐
- 科普达人丨一文弄懂什么是云计算?
- 本周小贴士#134:make_unique与私有构造函数
- DNS 系列(一):为什么更新了 DNS 记录不生效?
- On Apache Doris Fe processing query SQL source code analysis
- 2021-06-28
- LeetCode 1981. Minimize the difference between the target value and the selected element one question per day
- DevOps 的运营和商业利益指南
- mysql使用笔记一
- 【网络攻防原理与技术】第7章:口令攻击技术 第8章:网络监听技术
- Solidity 开发环境搭建
猜你喜欢
麒麟信安云平台全新升级!
SlashData开发者工具榜首等你而定!!!
Leetcode brush questions day49
With the latest Alibaba P7 technology system, mom doesn't have to worry about me looking for a job anymore
SlashData开发者工具榜首等你而定!!!
【可信计算】第十二次课:TPM授权与会话
鲲鹏开发者峰会2022 | 麒麟信安携手鲲鹏共筑计算产业新生态
责任链模式 - Unity
Shallow understanding Net core routing
What is cloud computing?
随机推荐
Reflections on "product managers must read: five classic innovative thinking models"
What is cloud computing?
第3章业务功能开发(用户访问项目)
邮件服务器被列入黑名单,如何快速解封?
[image sensor] correlated double sampling CDs
Sator推出Web3游戏“Satorspace” ,并上线Huobi
With the latest Alibaba P7 technology system, mom doesn't have to worry about me looking for a job anymore
Skimage learning (1)
Solidity函数学习
【TPM2.0原理及应用指南】 5、7、8章
第3章业务功能开发(安全退出)
L1-025 正整数A+B(Lua)
【黄啊码】为什么我建议您选择go,而不选择php?
Seaborn data visualization
DNS 系列(一):为什么更新了 DNS 记录不生效?
【网络攻防原理与技术】第3章:网络侦察技术
麒麟信安中标国网新一代调度项目!
浅谈 Apache Doris FE 处理查询 SQL 源码解析
How to implement safety practice in software development stage
【网络攻防原理与技术】第4章:网络扫描技术