安卓学习UI组件-AlertDialog-提示对话框

安卓学习UI组件-AlertDialog-提示对话框_第1张图片

运用了RelativeLayout布局

一.提示对话框

安卓学习UI组件-AlertDialog-提示对话框_第2张图片

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提示对话框一"
android:id="@+id/button1"
android:onClick="dialogClick1"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true" />
//1.提示对话框
public void dialogClick1(View v)
{
//创建一个提示对话框的构建器
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("提示");
builder.setMessage("请问你又女朋友吗?");
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();

}
});

//AlertDialog dialog=builder.create();
//dialog.show();
builder.show();
}
二.列表选项对话框
安卓学习UI组件-AlertDialog-提示对话框_第3张图片
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="列表选项对话框"
android:id="@+id/button2"
android:onClick="dialogClick2"
android:layout_below="@+id/button1"
android:layout_alignParentStart="true"
android:layout_alignEnd="@+id/button1" />
//2. 列表选项对话框
public void dialogClick2(View v)
{ AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("请选择一个平台");
//内部类使用 用final
final String[] items={"Android","ios","windows phone"};
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,items[which],Toast.LENGTH_SHORT).show();
}
});
builder.show();

}
三.多选列表对话框

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="多选列表对话框"
android:id="@+id/button3"
android:onClick="dialogClick3"
android:layout_below="@+id/button2"
android:layout_alignParentStart="true"
android:layout_alignEnd="@+id/button2" />
//3.多选列表对话框
public void dialogClick3(View v)
{AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("请选择一个平台");
final ArrayList<String> list=new ArrayList<String>();
final String[] items={"Android","ios","windows phone"};
builder.setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() {
@Override
//isChecked 是否被选中
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked)
{
list.add(items[which]);
}else
{
list.remove(items[which]);
}

}
});
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,list.toString(),Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
//反面的按钮
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
list.clear();
dialog.dismiss();
}
});
builder.show();

}
四.单选列表对话框

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单选列表对话框"
android:id="@+id/button4"
android:onClick="dialogClick4"
android:layout_below="@+id/button3"
android:layout_alignParentStart="true"
android:layout_alignEnd="@+id/button3" />
//4.单选列表对话框
String result="Android";
public void dialogClick4(View v)
{AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("请选择一个平台");

final String[] items={"Android","ios","windows phone"};
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result=items[which];
Toast.makeText(MainActivity.this,"你选中了"+items[which],Toast.LENGTH_SHORT).show();
}
});

builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, result, Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
//反面的按钮
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();
}
});
builder.show();

}
 
 
五.自定义对话框
安卓学习UI组件-AlertDialog-提示对话框_第4张图片
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="自定义对话框"
android:id="@+id/button5"
android:onClick="dialogClick5"
android:layout_below="@+id/button4"
android:layout_alignParentStart="true"
android:layout_alignEnd="@+id/button4" />
 
需要建立个布局文件login_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/activity_horizontal_margin"
android:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText_username"
android:inputType="textPersonName"
android:hint="username"/>

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText_password"
android:inputType="numberPassword"
android:hint="password"/>



</LinearLayout>
//5.自定义对话框
public void dialogClick5(View v)
{
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("登陆对话框");
// API21 才能使用 builder.setView(R.layout.login_layout);
//实例化布局文件
final View view=getLayoutInflater().inflate(R.layout.login_layout,null);
builder.setView(view);

builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
EditText editText_username=(EditText)view.findViewById(R.id.editText_username);
EditText editText_password=(EditText)view.findViewById(R.id.editText_password);
String username=editText_username.getText().toString();
String password=editText_password.getText().toString();
Toast.makeText(MainActivity.this,username+"--"+password,Toast.LENGTH_SHORT).show();

}
});
//反面的按钮
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();
}
});
builder.show();

}

你可能感兴趣的:(安卓学习UI组件-AlertDialog-提示对话框)