<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 本節引言: > 本節我們來繼續學習Android系統給我們提供的幾個原生的Date & Time組件,他們分別是: DatePicker(日期選擇器),TimePicker(時間選擇器),CalendarView(日期視圖),好吧, 其實一開始讓我扣這幾個玩意我是拒絕的,因為在我的印象里,他們是這樣的: > > ![](https://box.kancloud.cn/2015-12-01_565da63363a1e.jpg) > > 簡直把我丑哭了,有木有,終于知道為什么那么多人喜歡自定義這種類型的控件了!但是畢竟 提綱上寫了,自己寫的提綱,含著淚也要把他寫完...當我把DatePicker寫到布局中,然后看下 預覽圖,喲: > > ![](https://box.kancloud.cn/2015-12-01_565da633da6d6.jpg) > > 原來,看起來還不錯,心情大好,哈哈,那么開始本節內容! * * * ## 1.DatePicker(日期選擇器) 可供我們使用的屬性如下: > * **android:calendarTextColor**?: 日歷列表的文本的顏色 > * **android:calendarViewShown**:是否顯示日歷視圖 > * **android:datePickerMode**:組件外觀,可選值:spinner,calendar 前者效果如下,默認效果是后者?![](https://box.kancloud.cn/2015-12-01_565da633ef19a.jpg) > * **android:dayOfWeekBackground**:頂部星期幾的背景顏色 > * **android:dayOfWeekTextAppearance**:頂部星期幾的文字顏色 > * **android:endYear**:去年(內容)比如2010 > * **android:firstDayOfWeek**:設置日歷列表以星期幾開頭 > * **android:headerBackground**:整個頭部的背景顏色 > * **android:headerDayOfMonthTextAppearance**:頭部日期字體的顏色 > * **android:headerMonthTextAppearance**:頭部月份的字體顏色 > * **android:headerYearTextAppearance**:頭部年的字體顏色 > * **android:maxDate**:最大日期顯示在這個日歷視圖mm / dd / yyyy格式 > * **android:maxDate**:最小日期顯示在這個日歷視圖mm / dd / yyyy格式 > * **android:spinnersShown**:是否顯示spinner > * **android:startYear**:設置第一年(內容),比如19940年 > * **android:yearListItemTextAppearance**:列表的文本出現在列表中。 > * **android:yearListSelectorColor**:年列表選擇的顏色 屬性就是上面這些,你想怎么玩就怎么玩,接下來我們說下他的DatePicker的事件:**DatePicker.OnDateChangedListener**?另外,奇怪的是,如果是上面這種mode為calendar的設置了事件并沒有響應,看來上面這種 只能選擇完后獲取對應的值了,如果你的mode未spinner的話,使用下述代碼就可以完成事件監聽: **實現代碼如下:** ~~~ public class MainActivity extends AppCompatActivity implements DatePicker.OnDateChangedListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DatePicker dp_test = (DatePicker) findViewById(R.id.dp_test); Calendar calendar = Calendar.getInstance(); int year=calendar.get(Calendar.YEAR); int monthOfYear=calendar.get(Calendar.MONTH); int dayOfMonth=calendar.get(Calendar.DAY_OF_MONTH); dp_test.init(year,monthOfYear,dayOfMonth,this); } @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { Toast.makeText(MainActivity.this,"您選擇的日期是:"+year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日!",Toast.LENGTH_SHORT).show(); } } ~~~ **運行效果圖:** ![](https://box.kancloud.cn/2015-12-01_565da63456751.jpg) * * * ## 2.TimePicker(時間選擇器) > 先來看看5.0的TimePicker長什么樣: > > ![](https://box.kancloud.cn/2015-12-01_565da635530a9.jpg) > > 樣子還是蠻標致的哈,我們發現官方給我們提供的屬性只有一個:?**android:timePickerMode**:組件外觀,同樣可選值為:spinner和clock(默認) 前者是舊版本的TimePicker~ 而他對應的監聽事件是:**TimePicker.OnTimeChangedListener** **下面來個代碼示例:** ~~~ public class MainActivity extends AppCompatActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TimePicker tp_test = (TimePicker) findViewById(R.id.tp_test); tp_test.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { Toast.makeText(MainActivity.this,"您選擇的時間是:"+hourOfDay+"時"+minute+"分!",Toast.LENGTH_SHORT).show(); } }); } } ~~~ **運行效果圖:**?可惜的是,同樣需要舊版本的TimePicker才會觸發這個事件! ![](https://box.kancloud.cn/2015-12-01_565da635b2c61.jpg) * * * ## 3.CalendarView(日歷視圖) > 好的,一樣是看看樣子先: > > ![](https://box.kancloud.cn/2015-12-01_565da635dafa6.jpg) > > 嗯,好像變化不大,接下來我們簡單的看下文檔中給我們提供的屬性: * **android:firstDayOfWeek**:設置一個星期的第一天 * **android:maxDate**?:最大的日期顯示在這個日歷視圖mm / dd / yyyy格式 * **android:minDate**:最小的日期顯示在這個日歷視圖mm / dd / yyyy格式 * **android:weekDayTextAppearance**:工作日的文本出現在日歷標題縮寫 處理上面的還有其他,但是都是被棄用的... 對應的日期改變事件是:**CalendarView.OnDateChangeListener** **示例代碼:** ~~~ public class MainActivity extends AppCompatActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); CalendarView cv_test = (CalendarView) findViewById(R.id.cv_test); cv_test.setOnDateChangeListener(new CalendarView.OnDateChangeListener() { @Override public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { Toast.makeText(MainActivity.this,"您選擇的時間是:"+ year + "年" + month + "月" + dayOfMonth + "日",Toast.LENGTH_SHORT).show(); } }); } } ~~~ **運行效果圖:** ![](https://box.kancloud.cn/2015-12-01_565da63644c48.jpg) * * * ## 本節小結: > 好的,關于這三個控件的介紹就到這里,實際開發中這些控件我們一般都是自定義的, 在進階系列我們會來自己寫控件,敬請期待,謝謝~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看