Android 常用对话框
程序员文章站
2022-05-16 18:14:35
...
对话框经常以小窗口的形式展现
常用的对话框有六种
对话框 |
---|
普通对话框 |
单选对话框 |
多选对话框 |
进度条对话框 |
消息对话框 |
自定义对话框 |
1.普通对话框
通常有“确定”和”取消“按钮。
方法名 | 功能 |
---|---|
setTitle() | 设置对话框标题 |
setIcon() | 设置对话框图标 |
setPositiveButton() | 设置对话框添加 按钮 |
setMessage() | 设置对话框提示信息 |
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new AlertDialog.Builder(this)//绑定当前窗口
.setTitle("Dialog对话框")//设置标题
.setIcon(R.mipmap.ic_launcher)//设置图标
.setPositiveButton("确定",null)//添加确定按钮
.setNegativeButton("取消",null)//添加取消按钮
.setMessage("确定退出吗")//设置提示细信息
.create()//创建对话框
.show();//显示对话框
}
}
效果图
2.单选对话框
单选对话框和RadioButton作用类似,只能选择一个选项,单选对话框通过AlertDialog对象调用setSingleChoiceItems()方法创建的。setSingleChoiceItems方法有三个参数,第一个参数建立数组,用于显示选项内容,第二个参数设置是否默认选中,“0”表示默认选中第一个选项,如果默认未选中,参数则写“-1”,第三个参数是设立监听。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new AlertDialog.Builder(this)//绑定当前窗口
.setTitle("图通对话框")//设置标题
.setIcon(R.mipmap.ic_launcher)//设置图标
.setPositiveButton("确定",null)//添加确定按钮
.setSingleChoiceItems(new String[]{"男","女"},0,null)//第二个参数代表默认选中哪一个,如果都不选中设置-1
.create()//创建对话框
.show();//显示对话框
}
}
效果图
3.多选对话框
多选对话框通过调用AlertDialog的setMultiChoiceItems()方法创建。该方法有三个参数,第一个参数建立数组,用于显示选项内容,第二个参数是boolean数组,用来判断哪个选项需要勾选,如果没有选项选中则用“null”,如果有默认选中则该数组定义的长度要对应第1个参数设置的选项个数,第三个参数设置监听
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new AlertDialog.Builder(this)//绑定当前窗口
.setTitle("图通对话框")//设置标题
.setIcon(R.mipmap.ic_launcher)//设置图标
.setPositiveButton("确定",null)//添加确定按钮
//第一个参数显示内容,第二个参数代表哪个选项需要默认被勾选,如果没有则为null
//第三个参数:为每一个多选项绑定一个监听器
.setMultiChoiceItems(new String[]{"大学生","教师","*官员"},null,null)
.create()//创建对话框
.show();//显示对话框
}
}
效果
4.进度条对话框
在Android中提供了圆形进度条和水平进度条两种样式,通过setProgressStyle()方法设置进度条样式。常量ProgressDialog.STYLE_HORIZONTAL代表水平进度条,ProgressDialog.STYLE_SPINNER代表圆形进度条。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ProgressDialog prodialog;
prodialog = new ProgressDialog(this);
prodialog.setTitle("进度条对话框");
prodialog.setIcon(R.mipmap.ic_launcher);
prodialog.setMessage("正在下载。。。");
prodialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//ProgressDialog.STYLE_HORIZONTAL代表水平滚动条
//ProgressDialog.STYLE_SPINNER代表圆形进度条
prodialog.show();
}
}
效果
5.消息对话框
显示时间的长短是通过常量Toast.LENGTH_SHORT和Toast.LENGTH_LONG控制的
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//当前对话框、显示内容、显示时长Toast.LENGTH_LONG长时间显示
//Toast.LENGTH_SHORT 短时间显示
Toast.makeText(this,"你好",Toast.LENGTH_LONG).show();
}
}
效果