1、簡介
DatePicker日期選擇器,自帶spinner和calendar兩種模式,相關屬性:
android:calendarTextColor : 日歷列表的文本的顏色
android:calendarViewShown:是否顯示日歷視圖
android:datePickerMode:組件外觀,可選值:spinner,calendar 前者效果如下,默認效果是后者
android:dayOfWeekBackground:頂部星期幾的背景顏色
android:dayOfWeekTextAppearance:頂部星期幾的文字顏色
android:endYear:去年(內容)比如2010
android:firstDayOfWeek:設置日歷列表以星期幾開頭
android:headerBackground:整個頭部的背景顏色
android:headerDayOfMonthTextAppearance:頭部日期字體的顏色
android:headerMonthTextAppearance:頭部月份的字體顏色
android:headerYearTextAppearance:頭部年的字體顏色
android:maxDate:最大日期顯示在這個日歷視圖mm / dd / yyyy格式
android:minDate:最小日期顯示在這個日歷視圖mm / dd / yyyy格式
android:spinnersShown:是否顯示spinner
android:startYear:設置第一年(內容),比如19940年
android:yearListItemTextAppearance:列表的文本出現在列表中。
android:yearListSelectorColor:年列表選擇的顏色
TimePicker時間選擇器,只有一個屬性android:timePickerMode設置spinner和clock(默認);
CalendarView日歷選擇器,相關屬性:
android:firstDayOfWeek:設置一個星期的第一天 android:maxDate :最大的日期顯示在這個日歷視圖mm / dd / yyyy格式 android:minDate:最小的日期顯示在這個日歷視圖mm / dd / yyyy格式 android:weekDayTextAppearance:工作日的文本出現在日歷標題縮寫
三種選擇器使用時大都是自定義控件,系統提供很無奈!
2、簡單使用
DatePicker的使用:
事件響應:
public class LoginActivity extends AppCompatActivity implements DatePicker.OnDateChangedListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); DatePicker datePicker = (DatePicker)findViewById(R.id.datepicker); Calendar calendar = Calendar.getInstance(); int year=calendar.get(Calendar.YEAR); int monthOfYear=calendar.get(Calendar.MONTH); int dayOfMonth=calendar.get(Calendar.DAY_OF_MONTH); datePicker.init(year,monthOfYear,dayOfMonth,this); } @Override public void onDateChanged(DatePicker view, int year,int month,int day){ Toast.makeText(LoginActivity.this,"您選擇的日期是:"+year+"年"+(month+1)+"月"+day+"日!",Toast .LENGTH_SHORT).show(); } }
TimePicker的使用:
事件響應(模式為spinner):
public class LoginActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); TimePicker timePicker = (TimePicker)findViewById(R.id.timepicker); timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker timePicker, int i, int i1) { Toast.makeText(LoginActivity.this,"您選擇的時間是:"+i+"時"+i1+"分!",Toast.LENGTH_SHORT) .show(); } }); } }
CalendarView的使用:
事件響應:
public class LoginActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); CalendarView cv_test = (CalendarView) findViewById(R.id.calendarview); cv_test.setOnDateChangeListener(new CalendarView.OnDateChangeListener() { @Override public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { Toast.makeText(LoginActivity.this,"您選擇的時間是:"+ year + "年" + month + "月" + dayOfMonth + "日", Toast.LENGTH_SHORT).show(); } }); } }