Android中九种dialog对话框代码
16lz
2021-12-04
public class MainActivity extends Activity {private static final int MAX_PROGRESS = 100;private static final int PRO = 10;private Handler handler;private int progress=10;private ProgressDialog progressDialog;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//显示视图setContentView(R.layout.activity_main);}public void openDialog(View v) {//调用 方法//test1();tes8();//myDialog();}public void test1() {// 创建对话框对象AlertDialog alertDialog = new AlertDialog.Builder(this).create();// 设置对话框的标题alertDialog.setTitle("XXXXX");// 设置对话框中的内容alertDialog.setMessage("消息");// 显示对话框alertDialog.show();}public void tes2() {AlertDialog alertDialog = new AlertDialog.Builder(this).setTitle("xxxx").setMessage("xxxx").show();}// 对话框public void tes3() {new AlertDialog.Builder(this).setIcon(R.drawable.ic_launcher).setTitle("xxxx").setMessage("是否创建文件").setPositiveButton("确认", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 创建文件了new AlertDialog.Builder(MainActivity.this).setMessage("文件已经被创建").show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {new AlertDialog.Builder(MainActivity.this).setMessage("您已经选择了取消的按钮,该文件不会被创建").create().show();}}).show();}public void tes4() {final String items[] = { "Java", "PHP", "3G", ".NET" };new AlertDialog.Builder(this).setTitle("简单列表对话框").setItems(items, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 第一个参数 dialog int which 那个条目Toast.makeText(getApplicationContext(),"xxxxx" + items[which], Toast.LENGTH_LONG).show();}}).show();}public void tes5() {final String items[] = { "Java", "PHP", "3G", ".NET" };new AlertDialog.Builder(this).setTitle("单选列表对话框")// 数据集中的某一列会作为列表对话框的数据加载的列表框中,该参数表示该列的名称(字段名称).setSingleChoiceItems(items, 1,new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {// 第一个参数 dialog int which 那个条目Toast.makeText(getApplicationContext(),"xxxxx" + items[which],Toast.LENGTH_LONG).show();}}).show();}public void tes6() {final String items[] = { "Java", "PHP", "3G", ".NET" };new AlertDialog.Builder(this).setTitle("多选列表对话框").setMultiChoiceItems(items,new boolean[] { false, true, true, false },new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which, boolean isChecked) {if (isChecked) {Toast.makeText(getApplicationContext(),"xxx" + items[which],Toast.LENGTH_LONG).show();}}}).setPositiveButton("确认", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(getApplicationContext(), "确认",Toast.LENGTH_LONG).show();}}).show();}//自定义的对话框public void myDialog(){LayoutInflater layoutInflater = getLayoutInflater();View view = layoutInflater.inflate(R.layout.activity_main, null); //R.layout.activty_main自定义的布局文件new AlertDialog.Builder(this).setView(view).setTitle("自定义的对话框").setPositiveButton("确认按钮", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {//处理}}).show();}//进度条对话框public void tes8(){handler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);switch (msg.what) {case PRO:if (progress >= MAX_PROGRESS) {// 重新设置progress = 0;progressDialog.dismiss();// 销毁对话框} else {progress++;progressDialog.incrementProgressBy(1);// 延迟发送消息handler.sendEmptyMessageDelayed(PRO, 100);}break;default:break;}}};progressDialog = new ProgressDialog(this);progressDialog.setIcon(R.drawable.ic_launcher);progressDialog.setTitle("正在处理数据......");progressDialog.setMessage("请稍后...");progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置进度条对话框// 样式(水平,旋体)// 进度最大值progressDialog.setMax(MAX_PROGRESS);progressDialog.setButton("暂停", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {//删除消息队列handler.removeMessages(PRO);}});progressDialog.setButton2("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {//删除消息队列handler.removeMessages(PRO);//恢复进度初始值progress=0;progressDialog.setProgress(progress);}});// 显示progressDialog.show();//必须设置到show之后 show之前 可能bugprogress = (progress>0)?progress:0;progressDialog.setProgress(progress);// 线程handler.sendEmptyMessage(PRO);}}
更多相关文章
- 修改android默认浏览器
- android 确认对话框实例
- android gridview 去除四周间隙
- android 图片缩放
- Android(安卓)studio Dialog 弹出式对话框
- android 贪吃蛇源码分析
- Android(安卓)ProgressDialog设置透明程度
- 【Android】Activity全屏设置
- android 给textview部分文字设置点击事件