话不多说,注释很详细
1~main
package luyou.woyi.com.timechoose;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.NumberPicker;
import android.widget.TextView;
import android.widget.TimePicker;
import com.google.android.gms.common.api.GoogleApiClient;
public class MainActivity extends Activity {
private NumberPicker numberPicker;
private TimePicker timePicker;
private DatePicker datePicker;
String[] datename = {"工作", "休息", "学习"};
private String setTime;
private TextView textView1;
private TextView textView2;
private Button button1;
private Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*
* 实例化
* */
textView1 = (TextView) findViewById(R.id.text1);
button1 = (Button) findViewById(R.id.button1);
textView2 = (TextView) findViewById(R.id.text2);
button2 = (Button) findViewById(R.id.button2);
/*
* 设置监听器
* */
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
/*
* Dialog 对话框
* */
final Dialog dialog = new Dialog(MainActivity.this);
View inflate = LayoutInflater.from(MainActivity.this).inflate(
R.layout.set_time, null);
dialog.setContentView(inflate);
/*
* dialog内容设置
* */
dialog.setTitle("时间设置");
dialog.setCanceledOnTouchOutside(true);
dialog.show();
/*
* 控件实例化
* */
timePicker = (TimePicker) inflate.findViewById(R.id.timepicker);
numberPicker = (NumberPicker) inflate.findViewById(R.id.numberpick);
Button button_cancel1 = (Button) inflate.findViewById(R.id.button_cancel1);
Button button_confirm1 = (Button) inflate.findViewById(R.id.button_confirm1);
/*
* 使用24小时制
* */
timePicker.setIs24HourView(true);
/*
* 设置日期选择器的显示文字
* */
numberPicker.setDisplayedValues(datename);
numberPicker.setMinValue(0);
numberPicker.setMaxValue(datename.length - 1);
/*
* 按钮点击监听
* */
button_cancel1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
/*
* 关闭当前的窗口
* */
dialog.dismiss();
}
});
button_confirm1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
/*
* 获取索引
* */
int value = numberPicker.getValue();
String dateValue = datename[value];
// 获取当前的时间、日期
Integer minute = timePicker.getCurrentMinute();
if (minute.toString().length() == 1) {
//当前时间
setTime = timePicker.getCurrentHour() + ":0"
+ timePicker.getCurrentMinute();
;
} else {
setTime = timePicker.getCurrentHour() + ":"
+ timePicker.getCurrentMinute();
}
/*
* 显示设定时间
* */
textView1.setText(dateValue + setTime + "");
/*
* 关闭
* */
dialog.dismiss();
}
});
}
});
/*
* 设置监听器
* */
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
/*
* Dialog 对话框
* */
final Dialog dialog = new Dialog(MainActivity.this);
View inflate = LayoutInflater.from(MainActivity.this).inflate(
R.layout.set_date, null);
dialog.setContentView(inflate);
/*
* dialog内容设置
* */
dialog.setTitle("日期设置");
dialog.setCanceledOnTouchOutside(true);
dialog.show();
/*
* 控件实例化
* */
datePicker = (DatePicker) inflate.findViewById(R.id.datepicker);
Button button_cancel2 = (Button) inflate.findViewById(R.id.button_cancel2);
Button button_confirm2 = (Button) inflate.findViewById(R.id.button_confirm2);
/*
* 按钮点击监听
* */
button_cancel2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
/*
* 关闭当前的窗口
* */
dialog.dismiss();
}
});
button_confirm2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 获取当前的日期
setTime = datePicker.getYear() + "年" + datePicker.getMonth() + "月"
+ datePicker.getDayOfMonth() + "日";
/*
* 显示设定日期
* */
textView2.setText(setTime + "");
/*
* 关闭
* */
dialog.dismiss();
}
});
}
});
}
}
2~activity_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="luyou.woyi.com.timechoose.MainActivity">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/time_choose" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/date_choose" />
<TextView
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20dp"/>
<TextView
android:id="@+id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20dp"/>
</LinearLayout>
3~set_time.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:orientation="vertical">
<RelativeLayout
android:id="@+id/relaticelayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/button_cancel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="@string/cancel" />
<Button
android:id="@+id/button_confirm1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/confirm" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical">
<NumberPicker
android:id="@+id/numberpick"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TimePicker
android:id="@+id/timepicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/numberpick" />
</RelativeLayout>
<!--<RelativeLayout-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content">-->
<!--<DatePicker-->
<!--android:id="@+id/datepicker"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content" />-->
<!--</RelativeLayout>-->
</LinearLayout>
4~set_date.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:orientation="vertical">
<RelativeLayout
android:id="@+id/relaticelayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/button_cancel2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="@string/cancel" />
<Button
android:id="@+id/button_confirm2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/confirm" />
</RelativeLayout>
<DatePicker
android:id="@+id/datepicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>