編輯:關於Android編程
日期、時間選擇器(DatePicker和TimePicker)的功能和用法
DatePicker和TimePicker是兩個比較常用的控件,它們都從FrameLayout派生而來,其中DatePicker用於選擇日期、TimePicker用於選擇時間。
DatePicker和TimePicker在FrameLayout的基礎上提供了一些方法來獲取當前用戶所選擇的日期、時間;開發者可以通過為DatePicker添加OnDateChangedListener、為TimePicker添加OnTimeChangedListener監聽器進行監聽來獲取用戶選擇的日期和時間。
java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.DatePicker概述:
一個選擇年月日的日歷布局視圖,對於對話框視圖,參見 DatePickerDialog.
公共方法:
Public Methods
int
getDayOfMonth()
獲取選擇的天數
int
getMonth()
獲取選擇的月份
int
getYear()
獲取選擇的年份
void
init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)
初始化年月日
void
setEnabled(boolean enabled)
設置視圖的啟用狀態
void
updateDate(int year, int monthOfYear, int dayOfMonth)
更新日期
DatePicker支持的XML屬性:
XML屬性
說明
android:calendarViewShown
設置該日期選擇器是否顯示ClendarView組件
android:endYear
設置該日期選擇器允許選擇的最後一年
android:startYear
設置該日期選擇器允許選擇的第一一年
android:maxDate
設置該日期選擇器允許選擇的最大日期。以mm/dd/yyyy格式指定最大日期
android:minDate
設置該日期選擇器允許選擇的最小日期。以mm/dd/yyyy格式指定最小日期
android:spinnersShown
設置該日期選擇器是否顯示Spinner日期選擇組件
TimePicker(時間選擇器)
結構:
ava.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.TimePicker概述:
用於選擇一天中時間的視圖,支持 24小時及上午/下午模式。小時,分鐘及上午/下午(如果可用)都可以用垂直滾動條來控制。用鍵盤來輸入小時。兩個數的小時數可以通過輸入兩個數字來實現,例如在一定時間內輸入‘1’和‘2’即選擇了12點。分鐘能顯示輸入的單個數字。在AM/PM模式下,用戶可以輸入'a', 'A"或 'p', 'P'來選取。對於對話框視圖,參見TimePickerDialog。
公共方法:
Public Methods
int
getBaseline()
返回窗口空間的文本基准線到其頂邊界的偏移量。如果這個部件不支持基准線對齊,
這個方法返回-1/。
Integer
getCurrentHour()
獲取當前時間的小時部分。 返回值當前小時(0-23)
Integer
getCurrentMinute()
獲取當前時間的分鐘部分
boolean
is24HourView()
獲取當前系統設置是否是24小時制。 如果是24小時制返回true,否則返回false。
void
setCurrentHour(Integer currentHour)
設置當前小時
void
setCurrentMinute(Integer currentMinute)
設置當前分鐘(0-59)
void
setEnabled(boolean enabled)
設置可用的視圖狀態。可用的視圖狀態的解釋在子類中改變。
void
setIs24HourView(Boolean is24HourView)
設置是24小時還是上午/下午制
void
setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener)
設置時間調整事件的回調函數。
應用實例
選擇日期和時間:運行效果圖:
程序代碼:
package com.jph.choosedae; import java.util.Calendar; import android.app.Activity; import android.os.Bundle; import android.widget.DatePicker; import android.widget.DatePicker.OnDateChangedListener; import android.widget.EditText; import android.widget.TimePicker; import android.widget.TimePicker.OnTimeChangedListener; import android.widget.Toast; /** * Description: *
選擇日期時間 *
本實例通過DatePicker(時間選擇器)和 *
TimePicker(日期選擇器)來提供用戶選擇日期和時間 *
為了獲取選擇的日期程序為DatePicker注冊了OnDateChangedListener *
監聽器,為了獲取選擇的時間程序為TimePicker注冊OnTimeChangedListener *
監聽器 * @author jph * Date:2014.20.57 */ public class ChooseDate extends Activity { // 定義5個記錄當前時間的變量 private int year; private int month; private int day; private int hour; private int minute; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker); TimePicker timePicker = (TimePicker) findViewById(R.id.timePicker); // 獲取當前的年、月、日、小時、分鐘 Calendar c = Calendar.getInstance(); year = c.get(Calendar.YEAR); month = c.get(Calendar.MONTH); day = c.get(Calendar.DAY_OF_MONTH); hour = c.get(Calendar.HOUR); minute = c.get(Calendar.MINUTE); // 初始化DatePicker組件,初始化時指定監聽器 datePicker.init(year, month, day, new OnDateChangedListener() { @Override public void onDateChanged(DatePicker arg0, int year , int month, int day) { ChooseDate.this.year = year; ChooseDate.this.month = month; ChooseDate.this.day = day; // 顯示當前日期、時間 showDate(year, month, day, hour, minute); Toast.makeText(ChooseDate.this,"您選擇的日期:"+year+"年 " +month+"月 "+day+"日", Toast.LENGTH_SHORT).show(); } }); // 為TimePicker指定監聽器 timePicker.setOnTimeChangedListener(new OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker view , int hourOfDay, int minute) { ChooseDate.this.hour = hourOfDay; ChooseDate.this.minute = minute; // 顯示當前日期、時間 showDate(year, month, day, hour, minute); Toast.makeText(ChooseDate.this,"您選擇的時間:"+hourOfDay+"時 " +minute+"分", Toast.LENGTH_SHORT).show(); // } }); } // 定義在EditText中顯示當前日期、時間的方法 private void showDate(int year, int month , int day, int hour, int minute) { EditText show = (EditText) findViewById(R.id.show); show.setText("您選擇的日期和時間為:" + year + "年" + (month + 1) + "月" + day + "日 " + hour + "時" + minute + "分"); } }
xml布局文件:
說明:android的線程使用。android的線程無非就是Main Thread和Worker Thread。(除了主線程Main Thread之外的其他線程都是Wor
破解Android程序通常的方法是將apk文件利用ApkTool反編譯,生成Smali格式的反匯編代碼,然後閱讀Smali文件的代碼來理解程序的運行機制,找到
問題:如果圖片很大,全部載入內存,而顯示屏又不大,那麼再大的圖片也不會提高視覺效果的,而且會消耗無謂的內存。 解決辦法就是根據實際需要多大的圖片,然後動態計算應該載入多大
Android通知(Notification)詳解,最近項目用到了安卓下的Notification,也就是通知。今天我們就通過一個列子來了解一下android下的Noti