activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/t1"
android:textSize="20sp" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/t2"
android:textSize="20sp" />
</LinearLayout>
MainActivity.java
package com.example.yanhsama.computer;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
ProgressDialog mydialog;
Button btn1,btn2;
LinearLayout login;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1=(Button)findViewById(R.id.button1);
btn2=(Button)findViewById(R.id.button2);
btn1.setOnClickListener(new mClick());
btn2.setOnClickListener(new mClick());
}
class mClick implements View.OnClickListener
{
AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);
@Override
public void onClick(View arg0)
{
if(arg0 == btn1)
{
//设置对话框的标题
dialog.setTitle("警告");
//设置对话框的图标
dialog.setIcon(R.drawable.icon1);
//设置对话框显示的内容
dialog.setMessage("本项操作可能导致信息泄漏!");
//设置对话框的“确定”按钮
dialog.setPositiveButton("确定", new okClick());
//创建对象框
dialog.create();
//显示对象框
dialog.show();
}
else if(arg0 == btn2)
{
login = (LinearLayout)getLayoutInflater().inflate(R.layout.login, null);
dialog.setTitle("用户登录").setMessage("请输入用户名和密码")
.setView(login);
dialog.setPositiveButton("确定", new loginClick());
dialog.setNegativeButton("退出", new exitClick());
dialog.setIcon(R.drawable.icon2);
dialog.create();
dialog.show();
}
}
}
/* 普通对话框的“确定”按钮事件 */
class okClick implements DialogInterface.OnClickListener
{
@Override
public void onClick(DialogInterface dialog, int which)
{
dialog.cancel();
}
}
/* 输入对话框的“确定”按钮事件 */
class loginClick implements DialogInterface.OnClickListener
{
EditText txt;
@Override
public void onClick(DialogInterface dialog, int which)
{
txt = (EditText)login.findViewById(R.id.paswdEdit);
//取出输入编辑框的值与密码“admin”比较
if((txt.getText().toString()).equals("admin")){
Toast.makeText(getApplicationContext(),
"登录成功", Toast.LENGTH_SHORT).show();
setContentView(R.layout.success);}
else{
Toast.makeText(getApplicationContext(),
"密码错误", Toast.LENGTH_SHORT).show();
setContentView(R.layout.fail);
}
dialog.dismiss();
}
}
/* 输入对话框的“退出”按钮事件 */
class exitClick implements DialogInterface.OnClickListener
{
@Override
public void onClick(DialogInterface dialog, int which)
{
MainActivity.this.finish();
}
}
}
login.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户名:"
android:id="@+id/user"
android:textSize="18sp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密码:"
android:id="@+id/textView"
android:textSize="18sp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/paswdEdit" />
</LinearLayout>
success.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">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="success"
android:textSize="30sp"/>
</LinearLayout>
fail.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">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="fail"
android:textSize="30sp"/>
</LinearLayout>
strings.xml
<resources>
<string name="app_name">computer</string>
<string name="t1">打开普通对话框</string>
<string name="t2">打开输入对话框</string>
</resources>
效果显示图