前言:
本章内容为安卓日期与时间控件的使用讲解、后面有讲解和Demo源码。
首先来说说时间控件、时间控件分为模拟和数字时钟(AnalogClock和DigitalClock),
他们都是用来显示时间的、不同的是,AnalogClock控件显示的是一个模拟时钟,且只显示时针和分针。
而DigitalClock显示的是数字时钟,且可以显示到秒。
下面先是模拟时钟的Demo:
主Activity如下:(这里只是用来显示时间控件、不需要添加其它任何java代码)
package com.dsl.ui_application_05;
import android.app.Activity;
import android.os.Bundle;
/**
* 功能:安卓时间控件
*
* 作者:单胜凌
* 时间:2016.12.13
*/
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
XML文件如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context="com.dsl.ui_application_05.MainActivity">
<!--这里就是模拟时钟的控件代码了、比较简单无须在Activity中写任何代码-->
<AnalogClock
android:id="@+id/analogClock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
/>
<!--数字时钟控件代码-->
<DigitalClock
android:id="@+id/digitaClock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/analogClock"
android:textSize="24sp"
android:layout_marginTop="30dp"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
最终该显示时间效果图如下:
时间控件就到此结束、比较简单、这里就先不上传源码了。
大家可自行写一下、就是在XML中添加两个控件、接下来就是日期控件了
DatePicker日期选择器+TimePicker时间选择器
主Activity如下:
package com.dsl.ui_application_05;
import android.app.Activity;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;
import java.util.Calendar;
/**
* 功能:安卓时间控件
*
* 作者:单胜凌
* 时间:2016.12.13
*/
public class MainActivity extends Activity {
private int year;
private int month;
private int day;
private int hour;
private int minute;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_date);
TimePicker timepicker = (TimePicker)findViewById(R.id.timePicker);
DatePicker datePicker = (DatePicker)findViewById(R.id.datePicker);
timepicker.setIs24HourView(true);//设置24小时制
Calendar calendar = Calendar.getInstance();//获取当前时间的对象
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH);
day = calendar.get(Calendar.DATE);
hour = calendar.get(Calendar.HOUR);
minute = calendar.get(Calendar.MINUTE);
//为日期初始化并设置监听器
datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
MainActivity.this.year = year;
MainActivity.this.month= monthOfYear;
MainActivity.this.day = dayOfMonth;
MyToast(year,monthOfYear,dayOfMonth,hour,minute);
}
});
timepicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
MainActivity.this.hour = hourOfDay;
MainActivity.this.minute=minute;
MyToast(year,month,day,hourOfDay,minute);
}
});
}
private void MyToast(int year,int month,int day,int hour,int minute)
{
String str=year+"年"+(month+1)+"月"+day+"日"+hour+":"+minute;
Toast.makeText(this,str,Toast.LENGTH_LONG).show();
}
}
XML文件如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context="com.dsl.ui_application_05.MainActivity">
<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
>
</TimePicker>
<DatePicker
android:id="@+id/datePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@id/timePicker"
android:layout_marginTop="20dp"
>
</DatePicker>
</RelativeLayout>
运行效果如下:
关于Android时间与日期控件的讲解到此结束、感兴趣的可以再深入研究一下!
源码地址如下:
https://github.com/DSLAndroid/UI_Application_05
本资源来自单胜凌原创!!!
Android靠自学!!!
祝各位IT人士早日取得成功!!!