请选择时期:
怀孕准备 怀孕 分娩 宝宝0-1岁 宝宝1-3岁 宝宝3-6岁

Android的AlertDialog详解(android alert)

来源: 最后更新:2024-03-30 00:12:57

导读:Android的AlertDialog详解 AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出
扫描关注公众号
The Beginning

AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。q1n育儿早教网
要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。q1n育儿早教网
使用AlertDialog.Builder创建对话框需要了解以下几个方法:q1n育儿早教网
setTitle :为对话框设置标题q1n育儿早教网
setIcon :为对话框设置图标q1n育儿早教网
setMessage:为对话框设置内容q1n育儿早教网
setView : 给对话框设置自定义样式q1n育儿早教网
setItems :设置对话框要显示的一个list,一般用于显示几个命令时q1n育儿早教网
setMultiChoiceItems :用来设置对话框显示一系列的复选框q1n育儿早教网
setNeutralButton :普通按钮q1n育儿早教网
setPositiveButton :给对话框添加"Yes"按钮q1n育儿早教网
setNegativeButton :对话框添加"No"按钮q1n育儿早教网
create : 创建对话框q1n育儿早教网
show :显示对话框q1n育儿早教网
一、简单的AlertDialogq1n育儿早教网
下面,创建一个简单的ALertDialog并显示它:q1n育儿早教网

[java] package com.tianjf;q1n育儿早教网

import android.app.Activity; q1n育儿早教网
import android.app.AlertDialog; q1n育儿早教网
import android.app.Dialog; q1n育儿早教网
import android.os.Bundle;q1n育儿早教网

public class Dialog_AlertDialogDemoActivity extends Activity { q1n育儿早教网
/** Called when the activity is first created. */ q1n育儿早教网
@Override q1n育儿早教网
public void onCreate(Bundle savedInstanceState) { q1n育儿早教网
super.onCreate(savedInstanceState); q1n育儿早教网
setContentView(R.layout.main);q1n育儿早教网

Dialog alertDialog = new AlertDialog.Builder(this). q1n育儿早教网
setTitle("对话框的标题"). q1n育儿早教网
setMessage("对话框的内容"). q1n育儿早教网
setIcon(R.drawable.ic_launcher). q1n育儿早教网
create(); q1n育儿早教网
alertDialog.show(); q1n育儿早教网
} q1n育儿早教网
} q1n育儿早教网
package com.tianjf;q1n育儿早教网
import android.app.Activity;q1n育儿早教网
import android.app.AlertDialog;q1n育儿早教网
import android.app.Dialog;q1n育儿早教网
import android.os.Bundle;q1n育儿早教网
public class Dialog_AlertDialogDemoActivity extends Activity {q1n育儿早教网
/** Called when the activity is first created. */q1n育儿早教网
@Overrideq1n育儿早教网
public void onCreate(Bundle savedInstanceState) {q1n育儿早教网
super.onCreate(savedInstanceState);q1n育儿早教网
setContentView(R.layout.main);q1n育儿早教网
Dialog alertDialog = new AlertDialog.Builder(this).q1n育儿早教网
setTitle("对话框的标题").q1n育儿早教网
setMessage("对话框的内容").q1n育儿早教网
setIcon(R.drawable.ic_launcher).q1n育儿早教网
create();q1n育儿早教网
alertDialog.show();q1n育儿早教网
}q1n育儿早教网
}运行结果如下:q1n育儿早教网
Android的AlertDialog详解q1n育儿早教网

二、带按钮的AlertDialogq1n育儿早教网
上面的例子很简单,下面我们在这个AlertDialog上面加几个Button,实现删除操作的提示对话框q1n育儿早教网

[java] package com.tianjf;q1n育儿早教网

import android.app.Activity; q1n育儿早教网
import android.app.AlertDialog; q1n育儿早教网
import android.app.Dialog; q1n育儿早教网
import android.content.DialogInterface; q1n育儿早教网
import android.os.Bundle;q1n育儿早教网

public class Dialog_AlertDialogDemoActivity extends Activity { q1n育儿早教网
/** Called when the activity is first created. */ q1n育儿早教网
@Override q1n育儿早教网
public void onCreate(Bundle savedInstanceState) { q1n育儿早教网
super.onCreate(savedInstanceState); q1n育儿早教网
setContentView(R.layout.main);q1n育儿早教网

Dialog alertDialog = new AlertDialog.Builder(this). q1n育儿早教网
setTitle("确定删除?"). q1n育儿早教网
setMessage("您确定删除该条信息吗?"). q1n育儿早教网
setIcon(R.drawable.ic_launcher). q1n育儿早教网
setPositiveButton("确定", new DialogInterface.OnClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which) { q1n育儿早教网
// TODO Auto-generated method stub q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
setNegativeButton("取消", new DialogInterface.OnClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which) { q1n育儿早教网
// TODO Auto-generated method stub q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
setNeutralButton("查看详情", new DialogInterface.OnClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which) { q1n育儿早教网
// TODO Auto-generated method stub q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
create(); q1n育儿早教网
alertDialog.show(); q1n育儿早教网
} q1n育儿早教网
} q1n育儿早教网
package com.tianjf;q1n育儿早教网
import android.app.Activity;q1n育儿早教网
import android.app.AlertDialog;q1n育儿早教网
import android.app.Dialog;q1n育儿早教网
import android.content.DialogInterface;q1n育儿早教网
import android.os.Bundle;q1n育儿早教网
public class Dialog_AlertDialogDemoActivity extends Activity {q1n育儿早教网
/** Called when the activity is first created. */q1n育儿早教网
@Overrideq1n育儿早教网
public void onCreate(Bundle savedInstanceState) {q1n育儿早教网
super.onCreate(savedInstanceState);q1n育儿早教网
setContentView(R.layout.main);q1n育儿早教网
Dialog alertDialog = new AlertDialog.Builder(this).q1n育儿早教网
setTitle("确定删除?").q1n育儿早教网
setMessage("您确定删除该条信息吗?").q1n育儿早教网
setIcon(R.drawable.ic_launcher).q1n育儿早教网
setPositiveButton("确定", new DialogInterface.OnClickListener() {q1n育儿早教网

@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which) {q1n育儿早教网
// TODO Auto-generated method stubq1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
setNegativeButton("取消", new DialogInterface.OnClickListener() {q1n育儿早教网

@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which) {q1n育儿早教网
// TODO Auto-generated method stubq1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
setNeutralButton("查看详情", new DialogInterface.OnClickListener() {q1n育儿早教网

@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which) {q1n育儿早教网
// TODO Auto-generated method stubq1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
create();q1n育儿早教网
alertDialog.show();q1n育儿早教网
}q1n育儿早教网
}在这个例子中,我们定义了三个按钮,分别是"Yes"按钮,"No"按钮以及一个普通按钮,每个按钮都有onClick事件,TODO的地方可以放点了按钮之后想要做的一些处理q1n育儿早教网
看一下运行结果:q1n育儿早教网
Android的AlertDialog详解q1n育儿早教网

可以看到三个按钮添加到了AlertDialog上,三个没有添加事件处理的按钮,点了只是关闭对话框,没有任何其他操作。q1n育儿早教网

三、类似ListView的AlertDialogq1n育儿早教网
用setItems(CharSequence[] items, final OnClickListener listener)方法来实现类似ListView的AlertDialogq1n育儿早教网
第一个参数是要显示的数据的数组,第二个参数是点击某个item的触发事件q1n育儿早教网

[java] package com.tianjf;q1n育儿早教网

import android.app.Activity; q1n育儿早教网
import android.app.AlertDialog; q1n育儿早教网
import android.app.Dialog; q1n育儿早教网
import android.content.DialogInterface; q1n育儿早教网
import android.os.Bundle; q1n育儿早教网
import android.widget.Toast;q1n育儿早教网

public class Dialog_AlertDialogDemoActivity extends Activity { q1n育儿早教网
/** Called when the activity is first created. */ q1n育儿早教网
@Override q1n育儿早教网
public void onCreate(Bundle savedInstanceState) { q1n育儿早教网
super.onCreate(savedInstanceState); q1n育儿早教网
setContentView(R.layout.main);q1n育儿早教网

final String[] arrayFruit = new String[] { "苹果", "橘子", "草莓", "香蕉" };q1n育儿早教网

Dialog alertDialog = new AlertDialog.Builder(this). q1n育儿早教网
setTitle("你喜欢吃哪种水果?"). q1n育儿早教网
setIcon(R.drawable.ic_launcher) q1n育儿早教网
.setItems(arrayFruit, new DialogInterface.OnClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which) { q1n育儿早教网
Toast.makeText(Dialog_AlertDialogDemoActivity.this, arrayFruit[which], Toast.LENGTH_SHORT).show(); q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
setNegativeButton("取消", new DialogInterface.OnClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which) { q1n育儿早教网
// TODO Auto-generated method stub q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
create(); q1n育儿早教网
alertDialog.show(); q1n育儿早教网
} q1n育儿早教网
} q1n育儿早教网
package com.tianjf;q1n育儿早教网
import android.app.Activity;q1n育儿早教网
import android.app.AlertDialog;q1n育儿早教网
import android.app.Dialog;q1n育儿早教网
import android.content.DialogInterface;q1n育儿早教网
import android.os.Bundle;q1n育儿早教网
import android.widget.Toast;q1n育儿早教网
public class Dialog_AlertDialogDemoActivity extends Activity {q1n育儿早教网
/** Called when the activity is first created. */q1n育儿早教网
@Overrideq1n育儿早教网
public void onCreate(Bundle savedInstanceState) {q1n育儿早教网
super.onCreate(savedInstanceState);q1n育儿早教网
setContentView(R.layout.main);q1n育儿早教网
final String[] arrayFruit = new String[] { "苹果", "橘子", "草莓", "香蕉" };q1n育儿早教网
Dialog alertDialog = new AlertDialog.Builder(this).q1n育儿早教网
setTitle("你喜欢吃哪种水果?").q1n育儿早教网
setIcon(R.drawable.ic_launcher)q1n育儿早教网
.setItems(arrayFruit, new DialogInterface.OnClickListener() {q1n育儿早教网

@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which) {q1n育儿早教网
Toast.makeText(Dialog_AlertDialogDemoActivity.this, arrayFruit[which], Toast.LENGTH_SHORT).show();q1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
setNegativeButton("取消", new DialogInterface.OnClickListener() {q1n育儿早教网
@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which) {q1n育儿早教网
// TODO Auto-generated method stubq1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
create();q1n育儿早教网
alertDialog.show();q1n育儿早教网
}q1n育儿早教网
}运行结果如下:q1n育儿早教网
Android的AlertDialog详解q1n育儿早教网

四、类似RadioButton的AlertDialogq1n育儿早教网
用setSingleChoiceItems(CharSequence[] items, int checkedItem, final OnClickListener listener)方法来实现类似RadioButton的AlertDialogq1n育儿早教网
第一个参数是要显示的数据的数组,第二个参数是初始值(初始被选中的item),第三个参数是点击某个item的触发事件q1n育儿早教网
在这个例子里面我们设了一个selectedFruitIndex用来记住选中的item的indexq1n育儿早教网

[java] package com.tianjf;q1n育儿早教网

import android.app.Activity; q1n育儿早教网
import android.app.AlertDialog; q1n育儿早教网
import android.app.Dialog; q1n育儿早教网
import android.content.DialogInterface; q1n育儿早教网
import android.os.Bundle; q1n育儿早教网
import android.widget.Toast;q1n育儿早教网

public class Dialog_AlertDialogDemoActivity extends Activity {q1n育儿早教网

private int selectedFruitIndex = 0;q1n育儿早教网

/** Called when the activity is first created. */ q1n育儿早教网
@Override q1n育儿早教网
public void onCreate(Bundle savedInstanceState) { q1n育儿早教网
super.onCreate(savedInstanceState); q1n育儿早教网
setContentView(R.layout.main);q1n育儿早教网

final String[] arrayFruit = new String[] { "苹果", "橘子", "草莓", "香蕉" };q1n育儿早教网

Dialog alertDialog = new AlertDialog.Builder(this). q1n育儿早教网
setTitle("你喜欢吃哪种水果?"). q1n育儿早教网
setIcon(R.drawable.ic_launcher) q1n育儿早教网
.setSingleChoiceItems(arrayFruit, 0, new DialogInterface.OnClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which) { q1n育儿早教网
selectedFruitIndex = which; q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
setPositiveButton("确认", new DialogInterface.OnClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which) { q1n育儿早教网
Toast.makeText(Dialog_AlertDialogDemoActivity.this, arrayFruit[selectedFruitIndex], Toast.LENGTH_SHORT).show(); q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
setNegativeButton("取消", new DialogInterface.OnClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which) { q1n育儿早教网
// TODO Auto-generated method stub q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
create(); q1n育儿早教网
alertDialog.show(); q1n育儿早教网
} q1n育儿早教网
} q1n育儿早教网
package com.tianjf;q1n育儿早教网
import android.app.Activity;q1n育儿早教网
import android.app.AlertDialog;q1n育儿早教网
import android.app.Dialog;q1n育儿早教网
import android.content.DialogInterface;q1n育儿早教网
import android.os.Bundle;q1n育儿早教网
import android.widget.Toast;q1n育儿早教网
public class Dialog_AlertDialogDemoActivity extends Activity {q1n育儿早教网

private int selectedFruitIndex = 0;q1n育儿早教网

/** Called when the activity is first created. */q1n育儿早教网
@Overrideq1n育儿早教网
public void onCreate(Bundle savedInstanceState) {q1n育儿早教网
super.onCreate(savedInstanceState);q1n育儿早教网
setContentView(R.layout.main);q1n育儿早教网
final String[] arrayFruit = new String[] { "苹果", "橘子", "草莓", "香蕉" };q1n育儿早教网
Dialog alertDialog = new AlertDialog.Builder(this).q1n育儿早教网
setTitle("你喜欢吃哪种水果?").q1n育儿早教网
setIcon(R.drawable.ic_launcher)q1n育儿早教网
.setSingleChoiceItems(arrayFruit, 0, new DialogInterface.OnClickListener() {q1n育儿早教网

@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which) {q1n育儿早教网
selectedFruitIndex = which;q1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
setPositiveButton("确认", new DialogInterface.OnClickListener() {q1n育儿早教网
@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which) {q1n育儿早教网
Toast.makeText(Dialog_AlertDialogDemoActivity.this, arrayFruit[selectedFruitIndex], Toast.LENGTH_SHORT).show();q1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
setNegativeButton("取消", new DialogInterface.OnClickListener() {q1n育儿早教网
@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which) {q1n育儿早教网
// TODO Auto-generated method stubq1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
create();q1n育儿早教网
alertDialog.show();q1n育儿早教网
}q1n育儿早教网
}q1n育儿早教网
运行结果如下:q1n育儿早教网
Android的AlertDialog详解q1n育儿早教网

五、类似CheckBox的AlertDialogq1n育儿早教网
用setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, final OnMultiChoiceClickListener listener)方法来实现类似CheckBox的AlertDialogq1n育儿早教网
第一个参数是要显示的数据的数组,第二个参数是选中状态的数组,第三个参数是点击某个item的触发事件q1n育儿早教网

[java] package com.tianjf;q1n育儿早教网

import android.app.Activity; q1n育儿早教网
import android.app.AlertDialog; q1n育儿早教网
import android.app.Dialog; q1n育儿早教网
import android.content.DialogInterface; q1n育儿早教网
import android.os.Bundle; q1n育儿早教网
import android.widget.Toast;q1n育儿早教网

public class Dialog_AlertDialogDemoActivity extends Activity { q1n育儿早教网
/** Called when the activity is first created. */ q1n育儿早教网
@Override q1n育儿早教网
public void onCreate(Bundle savedInstanceState) { q1n育儿早教网
super.onCreate(savedInstanceState); q1n育儿早教网
setContentView(R.layout.main);q1n育儿早教网

final String[] arrayFruit = new String[] { "苹果", "橘子", "草莓", "香蕉" }; q1n育儿早教网
final boolean[] arrayFruitSelected = new boolean[] {true, true, false, false};q1n育儿早教网

Dialog alertDialog = new AlertDialog.Builder(this). q1n育儿早教网
setTitle("你喜欢吃哪种水果?"). q1n育儿早教网
setIcon(R.drawable.ic_launcher) q1n育儿早教网
.setMultiChoiceItems(arrayFruit, arrayFruitSelected, new DialogInterface.OnMultiChoiceClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which, boolean isChecked) { q1n育儿早教网
arrayFruitSelected[which] = isChecked; q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
setPositiveButton("确认", new DialogInterface.OnClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which) { q1n育儿早教网
StringBuilder stringBuilder = new StringBuilder(); q1n育儿早教网
for (int i = 0; i < arrayFruitSelected.length; i++) { q1n育儿早教网
if (arrayFruitSelected[i] == true) q1n育儿早教网
{ q1n育儿早教网
stringBuilder.append(arrayFruit[i] + "、"); q1n育儿早教网
} q1n育儿早教网
} q1n育儿早教网
Toast.makeText(Dialog_AlertDialogDemoActivity.this, stringBuilder.toString(), Toast.LENGTH_SHORT).show(); q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
setNegativeButton("取消", new DialogInterface.OnClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which) { q1n育儿早教网
// TODO Auto-generated method stub q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
create(); q1n育儿早教网
alertDialog.show(); q1n育儿早教网
} q1n育儿早教网
} q1n育儿早教网
package com.tianjf;q1n育儿早教网
import android.app.Activity;q1n育儿早教网
import android.app.AlertDialog;q1n育儿早教网
import android.app.Dialog;q1n育儿早教网
import android.content.DialogInterface;q1n育儿早教网
import android.os.Bundle;q1n育儿早教网
import android.widget.Toast;q1n育儿早教网
public class Dialog_AlertDialogDemoActivity extends Activity {q1n育儿早教网
/** Called when the activity is first created. */q1n育儿早教网
@Overrideq1n育儿早教网
public void onCreate(Bundle savedInstanceState) {q1n育儿早教网
super.onCreate(savedInstanceState);q1n育儿早教网
setContentView(R.layout.main);q1n育儿早教网
final String[] arrayFruit = new String[] { "苹果", "橘子", "草莓", "香蕉" };q1n育儿早教网
final boolean[] arrayFruitSelected = new boolean[] {true, true, false, false};q1n育儿早教网
Dialog alertDialog = new AlertDialog.Builder(this).q1n育儿早教网
setTitle("你喜欢吃哪种水果?").q1n育儿早教网
setIcon(R.drawable.ic_launcher)q1n育儿早教网
.setMultiChoiceItems(arrayFruit, arrayFruitSelected, new DialogInterface.OnMultiChoiceClickListener() {q1n育儿早教网

@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which, boolean isChecked) {q1n育儿早教网
arrayFruitSelected[which] = isChecked;q1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
setPositiveButton("确认", new DialogInterface.OnClickListener() {q1n育儿早教网
@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which) {q1n育儿早教网
StringBuilder stringBuilder = new StringBuilder();q1n育儿早教网
for (int i = 0; i < arrayFruitSelected.length; i++) {q1n育儿早教网
if (arrayFruitSelected[i] == true)q1n育儿早教网
{q1n育儿早教网
stringBuilder.append(arrayFruit[i] + "、");q1n育儿早教网
}q1n育儿早教网
}q1n育儿早教网
Toast.makeText(Dialog_AlertDialogDemoActivity.this, stringBuilder.toString(), Toast.LENGTH_SHORT).show();q1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
setNegativeButton("取消", new DialogInterface.OnClickListener() {q1n育儿早教网
@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which) {q1n育儿早教网
// TODO Auto-generated method stubq1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
create();q1n育儿早教网
alertDialog.show();q1n育儿早教网
}q1n育儿早教网
}运行结果如下:q1n育儿早教网
Android的AlertDialog详解q1n育儿早教网

六、自定义View的AlertDialogq1n育儿早教网
有时候我们不能满足系统自带的AlertDialog风格,就比如说我们要实现一个Login画面,有用户名和密码,这时我们就要用到自定义View的AlertDialogq1n育儿早教网
先创建Login画面的布局文件q1n育儿早教网
[html] <?xml version="1.0" encoding="utf-8"?> q1n育儿早教网
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" q1n育儿早教网
android:layout_width="fill_parent" q1n育儿早教网
android:layout_height="fill_parent" q1n育儿早教网
android:orientation="vertical" >q1n育儿早教网

<LinearLayout q1n育儿早教网
android:layout_width="fill_parent" q1n育儿早教网
android:layout_height="wrap_content" q1n育儿早教网
android:gravity="center" >q1n育儿早教网

<TextView q1n育儿早教网
android:layout_width="0dip" q1n育儿早教网
android:layout_height="wrap_content" q1n育儿早教网
android:layout_weight="1" q1n育儿早教网
android:text="@string/user" />q1n育儿早教网

<EditText q1n育儿早教网
android:layout_width="0dip" q1n育儿早教网
android:layout_height="wrap_content" q1n育儿早教网
android:layout_weight="1" /> q1n育儿早教网
</LinearLayout>q1n育儿早教网

<LinearLayout q1n育儿早教网
android:layout_width="fill_parent" q1n育儿早教网
android:layout_height="wrap_content" q1n育儿早教网
android:gravity="center" >q1n育儿早教网

<TextView q1n育儿早教网
android:layout_width="0dip" q1n育儿早教网
android:layout_height="wrap_content" q1n育儿早教网
android:layout_weight="1" q1n育儿早教网
android:text="@string/passward" />q1n育儿早教网

<EditText q1n育儿早教网
android:layout_width="0dip" q1n育儿早教网
android:layout_height="wrap_content" q1n育儿早教网
android:layout_weight="1" /> q1n育儿早教网
</LinearLayout>q1n育儿早教网

</LinearLayout> q1n育儿早教网
<?xml version="1.0" encoding="utf-8"?>q1n育儿早教网
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"q1n育儿早教网
android:layout_width="fill_parent"q1n育儿早教网
android:layout_height="fill_parent"q1n育儿早教网
android:orientation="vertical" >q1n育儿早教网
<LinearLayoutq1n育儿早教网
android:layout_width="fill_parent"q1n育儿早教网
android:layout_height="wrap_content"q1n育儿早教网
android:gravity="center" >q1n育儿早教网
<TextViewq1n育儿早教网
android:layout_width="0dip"q1n育儿早教网
android:layout_height="wrap_content"q1n育儿早教网
android:layout_weight="1"q1n育儿早教网
android:text="@string/user" />q1n育儿早教网
<EditTextq1n育儿早教网
android:layout_width="0dip"q1n育儿早教网
android:layout_height="wrap_content"q1n育儿早教网
android:layout_weight="1" />q1n育儿早教网
</LinearLayout>q1n育儿早教网
<LinearLayoutq1n育儿早教网
android:layout_width="fill_parent"q1n育儿早教网
android:layout_height="wrap_content"q1n育儿早教网
android:gravity="center" >q1n育儿早教网
<TextViewq1n育儿早教网
android:layout_width="0dip"q1n育儿早教网
android:layout_height="wrap_content"q1n育儿早教网
android:layout_weight="1"q1n育儿早教网
android:text="@string/passward" />q1n育儿早教网
<EditTextq1n育儿早教网
android:layout_width="0dip"q1n育儿早教网
android:layout_height="wrap_content"q1n育儿早教网
android:layout_weight="1" />q1n育儿早教网
</LinearLayout>q1n育儿早教网
</LinearLayout>q1n育儿早教网
然后在Activity里面把Login画面的布局文件添加到AlertDialog上q1n育儿早教网
[java] package com.tianjf;q1n育儿早教网

import android.app.Activity; q1n育儿早教网
import android.app.AlertDialog; q1n育儿早教网
import android.app.Dialog; q1n育儿早教网
import android.content.DialogInterface; q1n育儿早教网
import android.os.Bundle; q1n育儿早教网
import android.view.LayoutInflater; q1n育儿早教网
import android.view.View;q1n育儿早教网

public class Dialog_AlertDialogDemoActivity extends Activity { q1n育儿早教网
/** Called when the activity is first created. */ q1n育儿早教网
@Override q1n育儿早教网
public void onCreate(Bundle savedInstanceState) { q1n育儿早教网
super.onCreate(savedInstanceState); q1n育儿早教网
setContentView(R.layout.main);q1n育儿早教网

// 取得自定义View q1n育儿早教网
LayoutInflater layoutInflater = LayoutInflater.from(this); q1n育儿早教网
View myLoginView = layoutInflater.inflate(R.layout.login, null);q1n育儿早教网

Dialog alertDialog = new AlertDialog.Builder(this). q1n育儿早教网
setTitle("用户登录"). q1n育儿早教网
setIcon(R.drawable.ic_launcher). q1n育儿早教网
setView(myLoginView). q1n育儿早教网
setPositiveButton("登录", new DialogInterface.OnClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which) { q1n育儿早教网
// TODO Auto-generated method stub q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
setNegativeButton("取消", new DialogInterface.OnClickListener() {q1n育儿早教网

@Override q1n育儿早教网
public void onClick(DialogInterface dialog, int which) { q1n育儿早教网
// TODO Auto-generated method stub q1n育儿早教网
} q1n育儿早教网
}). q1n育儿早教网
create(); q1n育儿早教网
alertDialog.show(); q1n育儿早教网
} q1n育儿早教网
} q1n育儿早教网
package com.tianjf;q1n育儿早教网
import android.app.Activity;q1n育儿早教网
import android.app.AlertDialog;q1n育儿早教网
import android.app.Dialog;q1n育儿早教网
import android.content.DialogInterface;q1n育儿早教网
import android.os.Bundle;q1n育儿早教网
import android.view.LayoutInflater;q1n育儿早教网
import android.view.View;q1n育儿早教网
public class Dialog_AlertDialogDemoActivity extends Activity {q1n育儿早教网
/** Called when the activity is first created. */q1n育儿早教网
@Overrideq1n育儿早教网
public void onCreate(Bundle savedInstanceState) {q1n育儿早教网
super.onCreate(savedInstanceState);q1n育儿早教网
setContentView(R.layout.main);q1n育儿早教网
// 取得自定义Viewq1n育儿早教网
LayoutInflater layoutInflater = LayoutInflater.from(this);q1n育儿早教网
View myLoginView = layoutInflater.inflate(R.layout.login, null);q1n育儿早教网

Dialog alertDialog = new AlertDialog.Builder(this).q1n育儿早教网
setTitle("用户登录").q1n育儿早教网
setIcon(R.drawable.ic_launcher).q1n育儿早教网
setView(myLoginView).q1n育儿早教网
setPositiveButton("登录", new DialogInterface.OnClickListener() {q1n育儿早教网
@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which) {q1n育儿早教网
// TODO Auto-generated method stubq1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
setNegativeButton("取消", new DialogInterface.OnClickListener() {q1n育儿早教网
@Overrideq1n育儿早教网
public void onClick(DialogInterface dialog, int which) {q1n育儿早教网
// TODO Auto-generated method stubq1n育儿早教网
}q1n育儿早教网
}).q1n育儿早教网
create();q1n育儿早教网
alertDialog.show();q1n育儿早教网
}q1n育儿早教网
}运行结果如下:q1n育儿早教网
Android的AlertDialog详解q1n育儿早教网
摘自 殇?的专栏q1n育儿早教网

THE END
广告、内容合作请点击这里 寻求合作
免责声明:本文系转载,版权归原作者所有;旨在传递信息,其原创性以及文中陈述文字和内容未经本站证实。

育儿知识

所属专题: 对话框  按钮  你喜欢  

本文地址:http://www.yuerzaojiao.com/qiaomen/youxi/1172672.html

最新文章
  • 1腾讯为什么告老干妈(腾讯跟老干妈什么情况)

    腾讯为什么告老干妈(腾讯跟老干妈什么情况)

  • 2突然确诊癌症中晚期,已转移!宁波男子无法接受:怎么可能!医生:发现一个,全家高危!

    突然确诊癌症中晚期,已转移!宁波男子无法接受:怎么可能!医生:发现一个,全家高危!

  • 3疑似皇马前主席之孙公然辱华,皇马却称“将致力于消除足球界种族歧视”?

    疑似皇马前主席之孙公然辱华,皇马却称“将致力于消除足球界种族歧视”?

  • 4韩军称朝鲜军人无意中越界 韩军称朝鲜军人无意中越界了吗

    韩军称朝鲜军人无意中越界 韩军称朝鲜军人无意中越界了吗

  • 5中纪委再打两“虎”!还有一“虎”被免职,一“虎”获刑十五年!

    中纪委再打两“虎”!还有一“虎”被免职,一“虎”获刑十五年!

  • 6吉林市将举办世界锅包肉大赛,此前召开座谈会论证锅包肉起源

    吉林市将举办世界锅包肉大赛,此前召开座谈会论证锅包肉起源

  • 7哪些爱爱姿势更容易怀孕 选择这些爱爱姿势帮助生儿生女

    哪些爱爱姿势更容易怀孕 选择这些爱爱姿势帮助生儿生女

  • 8男性精子存活时间有多久 精子存活率低怎么办

    男性精子存活时间有多久 精子存活率低怎么办

  • 9医生算错怀孕周数怎么办 孕龄胎龄预产期原来是这样算的

    医生算错怀孕周数怎么办 孕龄胎龄预产期原来是这样算的

  • 10备孕未准妈妈请注意 这里有份孕前自检表请签收

    备孕未准妈妈请注意 这里有份孕前自检表请签收

推荐文章

关于我们 | 广告服务 | 网站合作 | 免责声明 | 联系我们| 网站地图

© 2022 育儿早教网 All Rights Reserved. 沪ICP备20230950727号-10

声明: 本站文章均来自互联网,不代表本站观点 如有异议 请与本站联系 联系邮箱:kefu#yuerzaojiao.com (请把#替换成@)