标签:
转自:http://www.2cto.com/kf/201205/131876.html
参考文章:http://blog.csdn.net/flyfight88/article/details/8602162





布局文件
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/withButton"
android:onClick="doClick"
android:text="带多个按钮的对话框" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/list"
android:onClick="doClick"
android:text="列表对话框" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/radioList"
android:onClick="doClick"
android:text="带单选按钮的列表对话框" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/checkboxList"
android:onClick="doClick"
android:text="带多选按钮的列表对话框" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/my"
android:onClick="doClick"
android:text="自定义"/>
</LinearLayout>
public class MainActivity extends AppCompatActivity {
private AlertDialog.Builder builder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void doClick(View v){
switch (v.getId()){
case R.id.withButton:
{
builder=new AlertDialog.Builder(this);
builder.setTitle("title");
builder.setMessage("message");
builder.setIcon(R.mipmap.ic_launcher);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "确定删除", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "取消删除", Toast.LENGTH_SHORT).show();
}
});
builder.setNeutralButton("忽略", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "忽略", Toast.LENGTH_SHORT).show();
}
});
builder.create().show();
break;
}
case R.id.list:
{
final String[] arrayFruit = new String[] { "苹果", "橘子", "草莓", "香蕉" };
builder=new AlertDialog.Builder(this).
setTitle("你喜欢吃哪种水果?").
setIcon(R.mipmap.ic_launcher).
setItems(arrayFruit, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, arrayFruit[which], Toast.LENGTH_SHORT).show();
}
}).
setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.create().show();
break;
}
case R.id.radioList:
{
final String[] arrayFruit = new String[] { "苹果", "橘子", "草莓", "香蕉" };
builder=new AlertDialog.Builder(this).
setTitle("你喜欢吃哪种水果?").
setIcon(R.mipmap.ic_launcher).
setSingleChoiceItems(arrayFruit, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, arrayFruit[which], Toast.LENGTH_SHORT).show();
}
});
builder.create().show();
break;
}
case R.id.checkboxList:
{ final String[] arrayFruit = new String[] { "苹果", "橘子", "草莓", "香蕉" };
final boolean[] arrayFruitSelected = new boolean[] {true, true, false, false};
builder=new AlertDialog.Builder(this).
setTitle("你喜欢吃哪种水果?").
setIcon(R.mipmap.ic_launcher).
setMultiChoiceItems(arrayFruit, arrayFruitSelected, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
arrayFruitSelected[which] = isChecked;
}
});
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < arrayFruitSelected.length; i++) {
if (arrayFruitSelected[i] == true)
{
stringBuilder.append(arrayFruit[i] + "、");
}
}
String str=stringBuilder.toString().substring(0,stringBuilder.toString().length()-1).toString();
Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();
}
}).create();
builder.show();
break;
}
}
}
}
下面是自定义对话框
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="100dp"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="50dp"
android:textSize="20sp"
android:gravity="center_vertical"
android:text="用户名:" />
<TextView
android:layout_width="wrap_content"
android:layout_height="50dp"
android:textSize="20sp"
android:gravity="center_vertical"
android:text="密 码:" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="100dp"
android:orientation="vertical" >
<EditText
android:layout_width="match_parent"
android:layout_height="50dp"
android:textSize="20sp"
android:hint="邮箱"/>
<EditText
android:layout_width="match_parent"
android:layout_height="50dp"
android:textSize="20sp"
android:hint="你的密码一定要保密哟"/>
</LinearLayout>
</LinearLayout>
public class MainActivity extends AppCompatActivity {
private AlertDialog.Builder builder;
private LayoutInflater Inflater;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void doClick(View v){
switch (v.getId()){
case R.id.my:
{
// 取得自定义View
Inflater = LayoutInflater.from(this);
View myLoginView = Inflater.inflate(R.layout.mylayout, null);
builder = new AlertDialog.Builder(this).
setTitle("用户登录").
setIcon(R.mipmap.ic_launcher).
setView(myLoginView);
builder.setPositiveButton("登录", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
}).
setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
}).
create();
builder.show();
break;
}
}
}
}
显示

标签:
原文地址:http://www.cnblogs.com/324sige/p/5719588.html