一、实验目的
- 掌握常用对话框创建的步骤、常用方法;
- 掌握Toast创建的步骤和方法。
二、实验内容
创建一个Android项目,项目名称为“shiyan0701_班级_×××(学生姓名)”,要求:
- 界面构成:
①3个文本框用于显示提示信息“闹钟名称:”、“设定日期”、“设定时间”;
②3个编辑框分别用于接收和显示闹钟名称、设定日期、设定时间;
③2个普通按钮,文本分别显示为“定制”、“取消”。 - 程序功能:
①单击“定制”按钮,获取设定的闹钟名称、日期、时间,并在Toast中显示闹钟定制的信息;
②单击“取消”按钮,弹出AlertDialog提示框,标题为“取消闹钟”,提示消息为“是否取消闹钟”,包含“确定”和“取消”按钮;
③长击“设定日期”编辑框,弹出DatePickerDialog,选择一个日期并显示在该编辑框中;
④长击“设定时间”编辑框,弹出TimePickerDialog,选择一个时间并显示在该编辑框中;
【activity_main.xml文件】
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="闹钟名称" />
<EditText
android:id="@+id/ET_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设定日期" />
<EditText
android:id="@+id/ET_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设定时间" />
<EditText
android:id="@+id/ET_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/BT_set"
android:text="定制" />
<Button
android:id="@+id/BT_cancel"
android:text="取消" />
</TableLayout>
【MainActivity.java】
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;
import android.widget.Toast;
public class MainActivity extends Activity {
EditText ET_name,ET_date,ET_time;
Button BT_set,BT_cancel;
String Str_name,Str_date,Str_time;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ET_name=(EditText) findViewById(R.id.ET_name);
ET_date=(EditText) findViewById(R.id.ET_date);
ET_time=(EditText) findViewById(R.id.ET_time);
BT_set=(Button) findViewById(R.id.BT_set);
BT_cancel=(Button) findViewById(R.id.BT_cancel);
ET_date.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
DatePickerDialog datePicker = new DatePickerDialog(
MainActivity.this,
new OnDateSetListener() {
@Override
public void onDateSet(
DatePicker view,
int year,
int monthOfYear,
int dayOfMonth)
{
Toast.makeText(MainActivity.this, "日期是:"+year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日",0).show();
ET_date.setText(year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日");
}
},
2021,
4,
26);
datePicker.show();
return false;
}
});
ET_time.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
TimePickerDialog timePicker=new TimePickerDialog(
MainActivity.this,
new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "时间是:"+hourOfDay+":"+minute, 0).show();
ET_time.setText(hourOfDay+":"+minute);
}
},
15,
31,
true);
timePicker.show();
return false;
}
});
BT_set.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Str_name=ET_name.getText().toString();
Str_date=ET_date.getText().toString();
Str_time=ET_time.getText().toString();
Toast.makeText(MainActivity.this, Str_name+" "+Str_date+" "+Str_time, Toast.LENGTH_LONG).show();
}
});
BT_cancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
alert.setTitle("系统提示");
alert.setMessage("确定要取消吗?");
alert.setPositiveButton("确定", null);
alert.setNegativeButton("取消", null);
alert.show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}