安卓开发例3-5 消息对话框应用实例
设计两种形式的对话框,一种是发出提示信息 的普通对话框,另一种是用户登录对话框
(一)设计界面 布局文件activity_main.xml。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开普通对话框"
android:textSize="20sp"
/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开输入框"
android:textSize="20sp"
/>
</LinearLayout>
(二)设计登录对话框的界面布局文件login.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/user"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="用户名"
android:textSize="39sp"
/>
<EditText
android:id="@+id/userEdit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="39sp"
/>
<TextView
android:id="@+id/password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="39sp"
android:text="密码"
/>
<EditText
android:id="@+id/mimaEdit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="39sp"
/>
</LinearLayout>
(三)设计控制文件MainActivity.java
package com.example.test35;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
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 Activity {
ProgressDialog mydialog;
Button btn1, btn2;
LinearLayout login;
@Override
public 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);
@SuppressLint("InflateParams")
@Override
public void onClick(View arg0)
{
if (arg0 == btn1)
{
//设置对话框的标题
dialog.setTitle("警告");
//设置对话框显示的内容
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.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.mimaEdit);
//取出输入编辑框的值和密码“admin”比较
if ((txt.getText().toString()).equals("admin"))
Toast.makeText(getApplicationContext(),
"登陆成功", Toast.LENGTH_SHORT).show();
else
Toast.makeText(getApplicationContext(),
"密码错误", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
}
/*输入对话框的“退出”按钮事件*/
class exitClick implements DialogInterface.OnClickListener
{
@Override
public void onClick(DialogInterface dialog, int which)
{
MainActivity.this.finish();
}
}
}
以下是演示图
主界面
普通对话框
输入对话框
心得与体会
AlertDialog对话框是应用程序设计中最常用的对话框之一,他的内容很丰富,通过学习,我明白到设计AlertDialog对话框的步骤有:
(1)用AlertDialog.Builder类创建对话框Builder对象:
Builder dialog=new AlertDialog.Builder(Context);
(2)设置对话框的标题、图标、提示信息内容、按钮等:
dialog.setTitle("普通对话框");
dialog.setIcon(R.drawble.icon1);
dialog.setMessage("一个简单的提示对话框");
dialog.setPositiveButton("确定",new okClick());
(3)创建并显示AlertDialog对话框对象:
dialog.create();
dialog.show();