首页 / ANDROID / Android之对话框
Android之对话框
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android之对话框,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5603字,纯文字阅读大概需要9分钟。
内容图文
一:AlertDialog
AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。
要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。
AlertDialog.Builder常用方法
setTitle :为对话框设置标题
setIcon :为对话框设置图标
setMessage:为对话框设置内容
setView : 给对话框设置自定义样式
setItems :设置对话框要显示的一个list,一般用于显示几个命令时
setMultiChoiceItems :用来设置对话框显示一系列的复选框
setNeutralButton :普通按钮setPositiveButton :给对话框添加"Yes"按钮
setNegativeButton :对话框添加"No"按钮
create : 创建对话框
show :显示对话框
import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog.Builder; import android.app.AlertDialog; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button)this.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub Builder adInfo=new AlertDialog.Builder(MainActivity.this); adInfo.setTitle("简单对话框"); //设置标题 adInfo.setMessage("test"); //设置内容 adInfo.setIcon(R.drawable.ic_launcher); //设置图标 adInfo.create(); adInfo.show(); } }); }
1.AlertDialog可以显示3个按钮,现在我们增加显示按钮
1. dialog.setPositiveButton按钮显示在右边,2. dialog.setNegativeButton显示在左边3.dialog.setNeutralButton按钮显示在正中
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button)this.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub Builder adInfo=new AlertDialog.Builder(MainActivity.this); adInfo.setTitle("简单对话框"); //设置标题 adInfo.setMessage("test"); //设置内容 adInfo.setIcon(R.drawable.ic_launcher); adInfo.setPositiveButton("取消", new DialogInterface.OnClickListener() { @Override publicvoid onClick(DialogInterface dialog, int which) { // 根据实际情况编写相应代码。 } }); //为“取消”按钮注册监听事件 adInfo.setNegativeButton("确定", new DialogInterface.OnClickListener() { @Override publicvoid onClick(DialogInterface dialog, int which) { // 根据实际情况编写相应代码。 } }); adInfo.create(); adInfo.show(); } }); }
2.AlertDialog+按钮和复选框
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button)this.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub String[] choices={"Facebook","Twitter"}; //Check判断数组,与选项对应 boolean[] chsBool = {true,false}; //包含多个选项及复选框的对话框 AlertDialog dialog = new AlertDialog.Builder(MainActivity.this) .setIcon(android.R.drawable.btn_star_big_on) .setTitle("调查") .setMultiChoiceItems(choices, chsBool, multiClick) .setPositiveButton("yes", onclick) .setNegativeButton("No", onclick).create(); dialog.show(); } }); } OnMultiChoiceClickListener multiClick = new OnMultiChoiceClickListener(){ @Override publicvoid onClick(DialogInterface dialog, int which, boolean isChecked) { Toast.makeText(MainActivity.this, "第"+(which+1)+"项,选中结果:"+isChecked,Toast.LENGTH_SHORT).show(); } }; OnClickListener onclick = new OnClickListener() { @Override publicvoid onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stubswitch (which) { case Dialog.BUTTON_NEGATIVE: Toast.makeText(MainActivity.this, "No..", Toast.LENGTH_LONG).show(); break; case Dialog.BUTTON_NEUTRAL: Toast.makeText(MainActivity.this, "I don‘t know.", Toast.LENGTH_LONG).show(); break; case Dialog.BUTTON_POSITIVE: Toast.makeText(MainActivity.this, "Yes!!", Toast.LENGTH_LONG).show(); break; } } };
二、自定义AlertDialog
如何自定义一个对话框呢?
(1)修改系统默认的Dialog样式(风格、主题)
(2)自定义Dialog布局文件
(3)可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类。
待续。。。。
三、ProgressDialog
1.圆形进度条的使用
public class MainActivity extends Activity { private Button button1,button2; // 声明进度条对话框 private ProgressDialog pdDialog=null; //进度计数 int iCount = 0; @Override protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1=(Button)this.findViewById(R.id.progress); button2=(Button)this.findViewById(R.id.circle); button1.setOnClickListener(new View.OnClickListener() { @Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub iCount = 0; pdDialog=new ProgressDialog(MainActivity.this); //设置进度条风格,风格为圆形,旋转的 pdDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); // 设置ProgressDialog 标题 pdDialog.setTitle("圆形进度条"); // 设置ProgressDialog 提示信息 pdDialog.setMessage("正在下载中……"); // 设置ProgressDialog 标题图标 pdDialog.setIcon(R.drawable.ic_launcher); // 设置ProgressDialog 进度条进度 pdDialog.setProgress(100); // 设置ProgressDialog 的进度条是否不明确 pdDialog.setIndeterminate(false); // 设置ProgressDialog 是否可以按退回按键取消 pdDialog.setCancelable(true); // 设置ProgressDialog 的一个Button pdDialog.setButton("取消", new DialogInterface.OnClickListener() { publicvoid onClick(DialogInterface dialog, int i) { //点击“取消”按钮取消对话框 dialog.cancel(); } }); pdDialog.show(); //创建线程实例 new Thread(){ publicvoid run(){ try{ while (iCount <= 100) { // 由线程来控制进度。 pdDialog.setProgress(iCount ++); Thread.sleep(50); } pdDialog.cancel(); } catch (InterruptedException e){ pdDialog.cancel(); } } }.start(); } }); button2.setOnClickListener(new View.OnClickListener() { @Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub } }); }
2、环形进度条的使用
将其类型改成
pdDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
原文:http://www.cnblogs.com/ilooking/p/4262625.html
内容总结
以上是互联网集市为您收集整理的Android之对话框全部内容,希望文章能够帮你解决Android之对话框所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。