Android 時間選擇器 PickerView,的詳細使用
阿新 • • 發佈:2018-12-31
private void initTimePicker1() {//選擇出生年月日 //控制時間範圍(如果不設定範圍,則使用預設時間1900-2100年,此段程式碼可註釋) //因為系統Calendar的月份是從0-11的,所以如果是呼叫Calendar的set方法來設定時間,月份的範圍也要是從0-11 Date curDate = new Date(System.currentTimeMillis());//獲取當前時間 SimpleDateFormat formatter_year = new SimpleDateFormat("yyyy "); String year_str = formatter_year.format(curDate);int year_int = (int) Double.parseDouble(year_str); SimpleDateFormat formatter_mouth = new SimpleDateFormat("MM "); String mouth_str = formatter_mouth.format(curDate); int mouth_int = (int) Double.parseDouble(mouth_str); SimpleDateFormat formatter_day = new SimpleDateFormat("dd "); String day_str = formatter_day.format(curDate);int day_int = (int) Double.parseDouble(day_str); Calendar selectedDate = Calendar.getInstance();//系統當前時間 Calendar startDate = Calendar.getInstance(); startDate.set(1900, 0, 1); Calendar endDate = Calendar.getInstance(); endDate.set(year_int, mouth_int - 1, day_int); //時間選擇器 pvTime1 = new TimePickerView.Builder(this, newTimePickerView.OnTimeSelectListener() { @Override public void onTimeSelect(Date date, View v) {//選中事件回撥 // 這裡回撥過來的v,就是show()方法裡面所新增的 View 引數,如果show的時候沒有新增引數,v則為null /*btn_Time.setText(getTime(date));*/ textview1.setText(getTime(date)); } }) .setType(new boolean[]{true, true, true, false, false, false}) //年月日時分秒 的顯示與否,不設定則預設全部顯示 .setLabel("年", "月", "日", "", "", "")//預設設定為年月日時分秒 .isCenterLabel(false) .setDividerColor(Color.RED) .setTextColorCenter(Color.RED)//設定選中項的顏色 .setTextColorOut(Color.BLUE)//設定沒有被選中項的顏色 .setContentSize(21) .setDate(selectedDate) .setLineSpacingMultiplier(1.2f) .setTextXOffset(-10, 0,10, 0, 0, 0)//設定X軸傾斜角度[ -90 , 90°] .setRangDate(startDate, endDate) // .setBackgroundId(0x00FFFFFF) //設定外部遮罩顏色 .setDecorView(null) .build(); } private String getTime(Date date) {//可根據需要自行擷取資料顯示 // SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); return format.format(date); }