Android学习——Dialog对话框

来源:互联网 发布:线切割编程软件hf 编辑:程序博客网 时间:2024/05/20 05:08

一、简单的提示信息:

Button btn = (Button)findViewById(R.id.button1);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubShowDialg("标题", "提示信息", DialogActivity.this);}});private void ShowDialg(String strTitle, CharSequence strInfo, Activity activity) {Dialog dialog = new AlertDialog.Builder(activity)        .setTitle(strTitle) // 设置标题.setMessage(strInfo) // 设置对话框中的内容.setPositiveButton("确认", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {                                            // 确认按钮事件处理}}).create(); // 创建对话框dialog.show(); // 显示对话框}

二、自定义对话框:

自定义布局dialog_password.xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/dialog1"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <RelativeLayout        android:id="@+id/machine_div"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="top"        android:layout_margin="5dip"        android:padding="5dip" >        <TextView            android:id="@+id/label_dialogpwssword_new"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginTop="15dp"            android:text="输入密码:"            android:textColor="@color/white" />        <EditText            android:id="@+id/txt_dialogpwssword_new"            android:layout_width="300px"            android:layout_height="wrap_content"            android:layout_marginTop="10dp"            android:layout_toRightOf="@+id/label_dialogpwssword_new"            android:inputType="textPassword"            android:singleLine="true" />        <TextView            android:id="@+id/label_dialogpwssword_new1"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_below="@+id/label_dialogpwssword_new"            android:layout_marginTop="15dp"            android:text="确认密码:"            android:textColor="@color/white" />        <EditText            android:id="@+id/txt_dialogpwssword_new1"            android:layout_width="300px"            android:layout_height="wrap_content"            android:layout_below="@+id/label_dialogpwssword_new"            android:layout_marginTop="20dp"            android:layout_toRightOf="@+id/label_dialogpwssword_new1"            android:inputType="textPassword"            android:singleLine="true" />    </RelativeLayout></LinearLayout>

java代码:

private void showDailog() {LayoutInflater inflater = getLayoutInflater();//指定布局dialog_passwordfinal View view = inflater.inflate(R.layout.dialog_password, null);Dialog dialog = new AlertDialog.Builder(this).setTitle("修改密码")//设置标题.setView(view)//设置对话框布局.setPositiveButton("确定", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int whichButton) {// 确定按钮事件处理}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int whichButton) {// 取消按钮事件处理}}).create();dialog.show(); // 显示对话框}

三、列表对话框:

private void ShowListDialg() {final CharSequence[] items = {"Red", "Green", "Blue"};   //定义列表项Dialog dialog = new AlertDialog.Builder(this)        .setTitle("列表对话框") // 创建标题.setIcon(R.drawable.small1) // 设置LOGO.setItems(items, new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int item) {// 单击选项事件处理Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();}}).create(); // 创建对话框dialog.show(); // 显示对话框}

四、单选列表对话框:

private void ShowSingleDialg() {final CharSequence[] items = {"Red", "Green", "Blue"};   Dialog dialog = new AlertDialog.Builder(this)        .setTitle("单选列表对话框") // 创建标题.setIcon(R.drawable.small1) // 设置LOGO// setSingleChoiceItems方法创建单选列表项,第二个参数为默认被选中的选项位置,"-1"表示默认情况下不选中任何选项。.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 单击选项事件处理selectedIndex = which;Toast.makeText(DialogActivity.this, items[which], Toast.LENGTH_SHORT).show();}}).setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 确定按钮事件Toast.makeText(DialogActivity.this, items[selectedIndex], Toast.LENGTH_SHORT).show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 取消按钮事件}}).create(); // 创建对话框dialog.show(); // 显示对话框}

五、多选列表对话框:

private void ShowMultiDialg() {final CharSequence[] items = { "Red", "Green", "Blue", "White" };final boolean[] bolSelected = { false, false, false ,false };Dialog dialog = new AlertDialog.Builder(this).setTitle("多选列表对话框")// 创建标题.setIcon(R.drawable.small1)// 设置LOGO.setMultiChoiceItems(items, bolSelected,new DialogInterface.OnMultiChoiceClickListener() {        @Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {        // 单击选项事件处理bolSelected[which] = isChecked;}}).setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int whichButton) {// 确定按钮事件处理StringBuilder stringBuilder = new StringBuilder();                         for (int i = 0; i < bolSelected.length; i++) {                             if (bolSelected[i] == true)                             {                                 stringBuilder.append(items[i] + "/");                             }                         }                         Toast.makeText(DialogActivity.this, stringBuilder.toString(), Toast.LENGTH_SHORT).show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int whichButton) {// 取消按钮事件处理}}).create(); // 创建对话框dialog.show(); // 显示对话框}

六、日期对话框:

private void showDateDialog() {txtDate = (TextView) findViewById(R.id.txtDate);Calendar  c = Calendar.getInstance();Dialog dialog = new DatePickerDialog(this,new DatePickerDialog.OnDateSetListener() {public void onDateSet(DatePicker dp, int year, int month, int dayOfMonth) {Calendar c = Calendar.getInstance();// 将当前的设置的时间赋值到文本框中c.set(Calendar.YEAR, year);c.set(Calendar.MONTH, month);c.set(Calendar.DAY_OF_MONTH, dayOfMonth);SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");txtDate.setText(df.format(c.getTime()));}}, c.get(Calendar.YEAR), // 传入年份c.get(Calendar.MONTH), // 传入月份c.get(Calendar.DAY_OF_MONTH)); // 传入天数dialog.show();}

原创粉丝点击