導航:首頁 > 操作系統 > androidtimepicker

androidtimepicker

發布時間:2022-09-26 22:59:54

Ⅰ 如何在android中設置自定義分鍾間隔TimePickerDialog

您好,很高興能幫助您
private class DurationTimePickDialog extends TimePickerDialog
{
final OnTimeSetListener mCallback;
TimePicker mTimePicker;
final int increment;

public DurationTimePickDialog(Context context, OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView, int increment)
{
super(context, callBack, hourOfDay, minute/increment, is24HourView);
this.mCallback = callBack;
this.increment = increment;
}

@Override
public void onClick(DialogInterface dialog, int which) {
if (mCallback != null && mTimePicker!=null) {
mTimePicker.clearFocus();
mCallback.onTimeSet(mTimePicker, mTimePicker.getCurrentHour(),
mTimePicker.getCurrentMinute()*increment);
}
}

@Override
protected void onStop()
{
// override and do nothing
}

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
try
{
Class<?> rClass = Class.forName("com.android.internal.R$id");
Field timePicker = rClass.getField("timePicker");
this.mTimePicker = (TimePicker)findViewById(timePicker.getInt(null));
Field m = rClass.getField("minute");

NumberPicker mMinuteSpinner = (NumberPicker)mTimePicker.findViewById(m.getInt(null));
mMinuteSpinner.setMinValue(0);
mMinuteSpinner.setMaxValue((60/increment)-1);
List<String> displayedValues = new ArrayList<String>();
for(int i=0;i<60;i+=increment)
{
displayedValues.add(String.format("%02d", i));
}
mMinuteSpinner.setDisplayedValues(displayedValues.toArray(new String[0]));
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

}

你的採納是我前進的動力,
記得好評和採納,答題不易,互相幫助,

Ⅱ android中怎麼改變timepicker界面的顏色和風格

TimePicker->NumberPicker->EditText->setTextColor

具體內容可以進入 http://blog.csdn.net/u011240877 我的博客搜索TimePicker查看相關文章

Ⅲ android程序中TimePickerDialog中的時間調大,用getTimeInMillis()獲取時間卻是小於當前時間的為什麼

當前時間毫秒數,是一隻增長的。你獲取 TimePicker 時間肯定沒有 當前時間快啊,所以肯定兩個時間是由間隔的。

Ⅳ android對TimePickerDialog進行監聽 為什麼onTimeSet會執行兩次

Android中TimePickerDialog和DatePickerDialog都是SDK的時間日期選擇控制項,如果onTimeSet執行兩次,那說明修改方法被執行了兩次。
在Android程序中,通常需要使用DatePicker來設置日期,TimePicker來設置時間。其基本步驟是:
1.先定義DatePicker和TimePicker布局
2.然後通過Calendar類獲得系統時間
3.接著通過init方法將日期傳遞給DatePicker初始化日期控制項
4.在響應點擊事件中可以通過DatePicker的getYear()、getDayOfMonth()、getMonth()函數獲取具體日期
同時可以在OnDateChangedListener事件中監聽日期變化,設置時間函數方法同理。

Ⅳ android timepicker 如何限制時間范圍比如只能有兩個小時的時間可以選

datepicker可以通過xml設定,timepicker貌似沒有相關的屬性。不過你可以在代碼中手動檢查,比如在用戶點擊確定之後檢查下是否在時間范圍里再決定如何處理

Ⅵ android timepicker 怎麼顯示秒

android自帶的timePicker不行,android源代碼只提供了顯示和更新小時數/分鍾數/AM/PM的方法。要顯示秒數的話需要自己寫相應代碼,

java">Calendarc=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);

可以看看安卓巴士的教程:網頁鏈接

Ⅶ android 怎麼設置timePicker可以選擇的時間范圍

Android DatePickerDialog只能設置當前顯示的值,不能設置選擇范圍,范圍需要在代碼中判斷。
在Android程序中,通常需要使用DatePicker來設置日期,TimePicker來設置時間。其基本步驟是:
1.先定義DatePicker和TimePicker布局。
2.然後通過Calendar類獲得系統時間。
3.接著通過init方法將日期傳遞給DatePicker初始化日期控制項。
4.在響應點擊事件中可以通過DatePicker的getYear()、getDayOfMonth()、getMonth()函數獲取具體日期。
同時可以在OnDateChangedListener事件中監聽日期變化,設置時間函數方法同理。

Ⅷ android timepicker 可以顯示秒數嗎

Android組件TimePicker組件的深入解析,自定義TimePicker組件,實現時間的秒數只顯示00或者30,實現時間的整點選擇或半點選擇
上截圖(注意文章中有些截圖沒上,如果想看請下載附件裡面的文檔)

大家注意設置時間的時候分鍾只能設置00或者30,這就是我自定義的,因為最近公司有這樣的屬性,需要用戶提交的時間是整點或者半點

<!--[if !supportLists]-->1. <!--[endif]-->TimePicker組件其實繼承FrameLayout的,可以算的上是一個布局,就像那些TabHost等等的布局一樣
<!--[if !supportLists]-->2. <!--[endif]-->在TimePicker的構造函數裡面,
public TimePicker(Context context, AttributeSet attrs, int defStyle)
我們看到了這樣的代碼
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.time_picker,this, // we are the parent
true);
一看我們就應該知道了,其實TimePicker也是一種布局,而且他有自己的布局文件R.layout.time_picker
其實在這個構造函數裡面我們知道,android的底層其實也是調用java的
// initialize to current time
Calendar cal = Calendar.getInstance();
這個函數來獲取時間的
// by default we're not in 24 hour mode
setCurrentHour(cal.get(Calendar.HOUR_OF_DAY));
setCurrentMinute(cal.get(Calendar.MINUTE));
初始化時間
<!--[if !supportLists]-->3. <!--[endif]-->關於在TimePicker的構造函數里載入的R.layout.time_picker我們打開android的平台文件夾
如:
F:\android-sdk-windows\platforms\android-8\data\res\layout在此文件夾下面我們找到了time_picker.xml文件,打開此布局文件我們看到了兩個NumberPicker元屬和一個Button元屬,此控制項的效果圖就是這樣的(注意此處截圖沒上,如果需要請下載附件的文檔)
用過TimePicker控制項的朋友應該知道,此控制項會自動生成一個按鈕,此按鈕是顯示AM/PM的,其實我們也可以通過函數
TimePicker.setIs24HourView(true);//設置時間格式為24小時制
來設置TimePicker的時間顯示方法,默認情況下此屬性值為false

<!--[if !supportLists]-->4. <!--[endif]-->分析NumberPicker組件,我們找到android的源碼找到NumberPicker.java在此類裡面我們看到了此類其實是繼承LinearLayout由此可知,其實NumberPicker組件也是一個布局元屬
在NumberPicker的構造函數裡面我們同樣看到了
LayoutInflater inflater=(LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.number_picker, this, true);
這樣的代碼,由此我們找到R.layout.number_picker布局文件
<!--[if !supportLists]-->5. <!--[endif]-->分析R.layout.number_picker文件
如:F:\android-sdk-windows\platforms\android-8\data\res\layout在這樣的路徑下面我們可以找到R.layout.number_picker.xml布局文件 打開此布局文件,我們看到這樣的代碼
有兩個NumberPickerButton和一個EditText其實分析我們不難知道其實這個布局文件生成的樣式就是這樣的

<!--[if !supportLists]-->6. <!--[endif]-->說了這么多下面我來說重點了,其實我們每次點擊+或-都會觸發這個監聽函數
setOnTimeChangedListener所以如果我們需要對時間進行定製的話,我們可以使用此監聽器來做一些事情此監聽器會插入三個參數很好的是他把TimePicker對象也傳入進來了
public void onTimeChanged(TimePicker view, int hourOfDay, int minute)
下面我來說個業務需求
我們要為用戶提供一個選擇時間的界面,但用戶選擇時間秒的時候用戶只有兩個選擇要是秒是00,如
要麼秒是30,如
我們該如何來做出這樣的應用了,下面我就告訴大家我是如何做出這樣的應用的
通過上面我們對TimePicker的源碼架構分析可以知道其實我們只要通過java強大的反射機制來修改源碼裡面的一些屬性值就可以做到了

Ⅸ android這個timepicker怎麼初始化的

timepicker用於選擇一天中時間的視圖,支持 24小時及上午/下午模式。小時,分鍾及上午/下午(如果可用)都可以用垂直滾動條來控制。用鍵盤來輸入小時。兩個數的小時數可以通過輸入兩個數字來實現,例如在一定時間內輸入『1』和『2』即選擇了12點。分鍾能顯示輸入的單個數字。在AM/PM模式下,用戶可以輸入'a', 'A"或 'p', 'P'來選取。對於對話框視圖,參見TimePickerDialog。

TimePicker也繼承自FrameLayout類. 時間選擇控制項向用戶顯示一天中的時間(可以為24小時,也可以為AM/PM制),並允許用戶進行選擇.如果要捕獲用戶修改的時間數據事件,便需要為TimePicker添加OnTimeChangedListener事件。
1.重要方法
setCurrentMinute(Integer currentMinute) 設置當前時間的分鍾
getCurrentMinute() 獲取當前時間的分鍾
setEnabled(boolean enabled) 設置當前視圖是否可以編輯。
m_TimePicker.setIs24HourView(true); 設置為24小時制顯示
setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener)當時間改變時調用


2.實例:
timePicker = (TimePicker)findViewById(R.id.timePicker);
timePicker.setCurrentHour(16);
timePicker.setCurrentMinute(10);
updateDisplay(16,10);
timePicker.setOnTimeChangedListener(this);

Ⅹ 如何在android中設置自定義分鍾間隔timepickerdialog

android如果要修改自定義分鍾間隔,通常的做法是重寫一個TimePickerDialog,繼承它,不過也可以通過監聽事件來監聽數值的改變,來顯示自定義的分鍾間隔,代碼如下:
private static final int TIME_PICKER_INTERVAL=15;
private boolean mIgnoreEvent=false;

private TimePicker.OnTimeChangedListener mTimePickerListener=new TimePicker.OnTimeChangedListener(){
public void onTimeChanged(TimePicker timePicker, int hourOfDay, int minute){
if (mIgnoreEvent)
return;
if (minute%TIME_PICKER_INTERVAL!=0){
int minuteFloor=minute-(minute%TIME_PICKER_INTERVAL);
minute=minuteFloor + (minute==minuteFloor+1 ? TIME_PICKER_INTERVAL : 0);
if (minute==60)
minute=0;
mIgnoreEvent=true;
timePicker.setCurrentMinute(minute);
mIgnoreEvent=false;
}

}
};

閱讀全文

與androidtimepicker相關的資料

熱點內容
架設傳奇命令 瀏覽:951
關於醫生的小說 瀏覽:520
愛情動作電影 瀏覽:808
八零電子書txt免費下載網站 瀏覽:509
登陸遼事通顯示伺服器連接錯誤怎麼辦 瀏覽:547
9米高隧道演算法 瀏覽:508
池袋最強作品集txt 瀏覽:784
app專題推薦在哪裡 瀏覽:279
神雲伺服器顯示燈 瀏覽:134
程序員磨合期技巧 瀏覽:849
鬼團六全部電影名稱 瀏覽:864
穿越唯一一個女人世界 瀏覽:645
飛言情小說官網入口 瀏覽:581
pdf壓縮後還清晰嗎 瀏覽:654
得到app的電子書書架在哪裡 瀏覽:151
管道彎頭製作演算法 瀏覽:37
phpmvcsmarty實例 瀏覽:925
spring搭建http伺服器地址 瀏覽:713
servlet教程pdf 瀏覽:970
蜂鳥眾包app如何聯系客服 瀏覽:188