Android开发教程—控件之Dialog ListView GridView
Dialog 对话框,它运行起来的效果是什么样呢?如下图
这种是最常用的对话框
当点击了上图的确定后,会弹此对话框,这种对话框属于自定义布局类型
当执行一些比较费时的操作时,用这种对话框是个不错的选择
当我们需要用户进行选择操作,又不能使用下来列表时,可以使用这种自定义布局的对话框
接下来我们就一起来看看这些通过代码是如何实现的?
package TSD.Jason.Example;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.DialogInte易做图ce;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
/**
* 对话框
* @author Administrator
* 常用方法:
* setTitle():给对话框设置title.
setIcon():给对话框设置图标。
setMessage():设置对话框的提示信息
setItems():设置对话框要显示的一个list,一般用于要显示几个命令时
setSingleChoiceItems():设置对话框显示一个单选的List
setMultiChoiceItems():用来设置对话框显示一系列的复选框。
setPositiveButton():给对话框添加”Yes”按钮。
setNegativeButton():给对话框添加”No”按钮。
*
*/
public class DialogActivity extends Activity {
Button btn1;
ProgressDialog p;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.diaolg);
btn1 = (Button)findViewById(R.id.btnDialog);
btn1.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
Builder dialog = new AlertDialog.Builder(DialogActivity.this);
dialog.setTitle("登录提示");
dialog.setIcon(android.R.drawable.ic_dialog_info);
dialog.setMessage("是否登录?");
dialog.setPositiveButton("确定", new DialogInte易做图ce.OnClickListener() {
@Override
public void onClick(DialogInte易做图ce dialog, int which) {
ShowLoginDialog();
}
});
dialog.setNegativeButton("取消", new DialogInte易做图ce.OnClickListener() {
@Override
public void onClick(DialogInte易做图ce dialog, int which) {
DialogActivity.this.finish();
}
});
dialog.show();
}
});
}
}
以上代码是我们第一张对话框的效果实现代码,大家发现是不是挺简单,当我们单击确定按钮后,将调用一个叫做ShowLoginDialog的方法。
这个方法马上会贴出来,在这里我还是要强调下,大家在写代码的时候一定要有一个良好的编程思想,将功能拆分,降低代码的耦合度,一个方法只做一件事情,不要一股脑的将代码写到一个方法里。希望大家记得。
private void ShowLoginDialog()
{
Builder builder = new AlertDialog.Builder(DialogActivity.this);
builder.setTitle("用户登录");
LayoutInflater factory = LayoutInflater.from(DialogActivity.this);
View dialogView = factory.inflate(R.layout.dialogview, null);
builder.setView(dialogView);
builder.setPositiveButton("确定", new DialogInte易做图ce.OnClickListener() {
@Override
public void onClick(DialogInte易做图ce dialog, int which) {
DialogWait();
}
});
builder.setNegativeButton("取消", new DialogInte易做图ce.OnClickListener() {
@Override
public void onClick(DialogInte易做图ce dialog, int which) {
DialogActivity.this.finish();
}
});
builder.show();
}
上边被标注的代码是为了让Dialog中的内容部分显示我们自定义的布局文件,通过builder对象的setView方法就可以将R.layout.dialogview这个布局文件绑定到对话框中。
布局文件代码如下
补充:移动开发 , Android ,