您的位置:首页 > 其它

设置日期和时间的设计与实现

2015-05-30 10:09 399 查看
完成日期和时间的设计界面如下:



设置日期和时间用到的是DatePicker和TimePicker组件;

其次是获得系统的时间是通过Calendar完成,方式如下:

private Calendar my_Calendar;

private int my_Year, my_Month, my_Day, my_Hour, my_Minute;

my_Calendar = Calendar.getInstance(Locale.CHINA);

// 获取当前的年、月、日、小时、分钟

my_Year = my_Calendar.get(Calendar.YEAR);

my_Month = my_Calendar.get(Calendar.MONTH);

my_Day = my_Calendar.get(Calendar.DAY_OF_MONTH);

my_Hour = my_Calendar.get(Calendar.HOUR_OF_DAY);

my_Minute = my_Calendar.get(Calendar.MINUTE);

// TimePicker支持24小时制

my_timePicker.setIs24HourView(true);

最后通过添加OnDateChangedListener监听日期的改变。

界面的layout如下:

<LinearLayout 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:orientation="vertical">
<!-- DatePicker控件 -->
<DatePicker
android:id="@+id/datePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/dateShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示设置的日期"/>
<!-- TimePicker控件 -->
<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/timeShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示设置的时间"/>
</LinearLayout>


MianActivity实现功能的代码如下:

import java.util.Calendar;
import java.util.Locale;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.TimePicker.OnTimeChangedListener;

public class MainActivity extends Activity {
private DatePicker my_datePicker;
private TimePicker my_timePicker;
private TextView dateView, timeView;
private Calendar my_Calendar;
private int my_Year, my_Month, my_Day, my_Hour, my_Minute;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
my_datePicker = (DatePicker) findViewById(R.id.datePicker);
my_timePicker = (TimePicker) findViewById(R.id.timePicker);
dateView = (TextView) findViewById(R.id.dateShow);
timeView = (TextView) findViewById(R.id.timeShow);
// 获取当前的年、月、日、小时、分钟
my_Calendar = Calendar.getInstance(Locale.CHINA);
my_Year = my_Calendar.get(Calendar.YEAR);
my_Month = my_Calendar.get(Calendar.MONTH);
my_Day = my_Calendar.get(Calendar.DAY_OF_MONTH);
my_Hour = my_Calendar.get(Calendar.HOUR_OF_DAY);
my_Minute = my_Calendar.get(Calendar.MINUTE);
// TimePicker支持24小时制
my_timePicker.setIs24HourView(true);
// 初始化DatePicker组件,同时指定监听器
my_datePicker.init(my_Year, my_Month, my_Day,
new OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
my_Year = year;
my_Month = monthOfYear + 1;// 因为1月在系统中的初始值为0,所以需要加1
my_Day = dayOfMonth;
// 用TextView来显示设置好的日期
dateView.setText("您设置的日期是:" + my_Year + "年" + my_Month
+ "月" + my_Day + "日");
}
});
// 为TimePicker指定监听器
my_timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
my_Hour = hourOfDay;
my_Minute = minute;
// 用TextView来显示设置好的时间
timeView.setText("您设置的时间是:" + my_Hour + "时" + my_Minute + "分");
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: