導航:首頁 > 操作系統 > android日期選擇器自定義

android日期選擇器自定義

發布時間:2023-07-19 08:14:11

android自帶日期控制項怎麼調用

1.DatePicker


在Android中,DatePicker用來實現日期輸入設置,日期的設置范圍為1900年1月1日至2100年12月31日。


1.1常用xml屬性


DatePicker的常用xml屬性如圖1所示:


圖1 DatePicker常用xml屬性


其中,android:calendarViewShown[boolean]用於設置是否顯示calendar view;android:endYear[int]用於設置截至日期;android:maxDate[int]用於設置最大的日期;android:minDate[int]用於設置最小的日期;android:spinnersShown[boolean]用於設置是否顯示spinners;android:startYear[int]用於設置起始日期。


1.2常用方法


DatePicker的常用方法有以下一些:


(1)public CalendarView getCalendarView(); //獲取CalendarView


(2)public boolean getCalendarViewShown(); //獲取CalendarView是否顯示


(3)public int getDayOfMonth(); //獲取當前日期的日


(4)public long getMaxDate(); //獲取最大日期


(5)public long getMinDate(); //獲取最小日期


(6)public int getMonth(); //獲取當前日期的月


(7)public boolean getSpinnersShown(); //獲取Spinners是否顯示


(8)public int getYear(); //獲取當前日期的年


(9)public void init(int year,int monthOfYear,int dayOfMonth,


DatePicker.OnDateChangedListener onDateChangedListener); //初始化日期


(10)public void setCalendarViewShown(boolean shown);//設置是否顯示CalendarView


(11)public void setMaxDate(long maxDate); //設置最大日期


(12)public void setMinDate(long minDate); //設置最小日期


(13)public void setSpinnersShown(boolean shown); //設置是否顯示Spinners


(14)public void updateDate(int year,int month,int dayOfMonth); //更新當前日期



2.TimePicker


在Android中,TimePicker用來實現時間輸入設置,可以選擇12或24小時模式。TimePicker的常用方法有以下一些:


(1)public Integer getCurrentHour(); //獲取當前時間的小時


(2)public Integer getCurrentMinute(); //獲取當前時間的分鍾


(3)public boolean is24HourView(); //獲取是否為24小時模式


(4)public void setCurrentHour(Integer currentHour); //設置當前時間的小時


(5)public void setCurrentMinute(Integer currentMinute); //設置當前時間的分鍾


(6)public void setIs24HourView(Boolean is24HourView); //設置24小時模式



3.DatePickerDialog


在Android中,DatePickerDialog用來顯示日期對話框。DatePickerDialog的常用方法有以下一些:


(1)public DatePicker getDatePicker(); //獲取DatePicker中的日期值


(2)public void onClick(DialogInterface dialog,int which); //響應對話框中的點擊事件


(3)public void onDateChanged(DatePicker view,int year,int month,int day); //響應日期改變事件


(4)public void updateDate(int year,int monthOfYear,int dayOfMonth); //更新當前日期



4.TimePickerDialog


在Android中,TimePickerDialog用來顯示時間對話框。TimePickerDialog的常用方法有以下一些:


(1)public void onClick(DialogInterface dialog,int which); //響應對話框中的點擊事件


(2)public void onTimeChanged(TimePicker view,int hourOfDay,int minute); //響應時間改變事件


(3)public void updateTime(int hourOfDay,int minuteOfHour); //更新當前時間



5.AnalogClock


在Android中,AnalogClock用於顯示指針式時鍾,該時鍾僅有時鍾和分鍾兩個指針。



6.DigitalClock


在Android中,DigitalClock用來顯示數字式時鍾,顯示格式為HH:MM:SS AM/PM。

⑵ android fragment中怎樣設置日期選擇器

如果是比較低的版本用的是supportv4兼容包的話 布局中無法使用Fragment標簽 最好是在布局裡用xml文件寫一個framelayout的標簽。 寫一個子類繼承Fragment。 在FragmentActivity中使用Fragment。綁定。添加。移除。。此時要與Framelayout組件的id綁定。 要執行操作此時要得到FragmentManager 並且通過FragmentTransaction來提交事務。 這里就和官方demo上的用法一樣了 要注意的是最好不要再別的地方new一個Fragment 。Fragment的生命周期會受到相關Activity的影響。。最好在自己裡面定義靜態的newInstance方法。 希望能幫助你。

⑶ Android 時間滾動輪 選擇日期的范圍

可以

xml設置:
<DatePicker
android:id="@+id/dp_date"
android:layout_width="wrap_content"
android:layout_height="150dp"
android:layout_gravity="center_horizontal"
android:calendarViewShown="false"
android:minDate="mm/dd/yyyy"
android:maxDate="mm/dd/yyyy"
/>
mm/dd/yyyy為 月/日/年 如 01/01/2014

或者在代碼中設置:
...
datePicker = (DatePicker)findViewById(R.id.dp_date);

//設置開始日期
//從今天開始
Calendar startCalendar = Calendar.getInstance();
startCalendar.set(Calendar.HOUR, 0);
startCalendar.set(Calendar.SECOND, 0);
startCalendar.set(Calendar.MINUTE, 0);
startCalendar.set(Calendar.MILLISECOND, 0);
datePicker.setMinDate(startCalendar.getTimeInMillis());

//設置結束日期
//到280天後結束
Calendar endCalendar = Calendar.getInstance();
endCalendar.set(Calendar.DATE, startCalendar.get(Calendar.DATE) + 280);
long endDate = endCalendar.getTimeInMillis();
datePicker.setMaxDate(endDate);
...

⑷ android日期選擇器怎麼加入小時

只需要在日期控制項旁邊放置一個小時的控制項即可timepicker:
<!-- 顯示用戶輸入日期、時間的控制項 -->
<EditText android:id="@+id/show"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:editable="false"
android:cursorVisible="false"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="請選擇日期和時間"
/>
<!-- 定義一個DatePicker組件 -->
<DatePicker android:id="@+id/datePicker"
android:layout_width="wrap_content"
android:layout_height="200dp"
android:layout_gravity="center_horizontal"
android:startYear="2000"
android:endYear="2050"
android:calendarViewShown="true"
android:spinnersShown="true"
/>
<!-- 定義一個TimePicker組件 -->
<TimePicker android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_gravity="center_horizontal"
/>
</LinearLayout>

⑸ android DatePickerDialog怎麼設置日期選擇范圍。

時間設置對話框DatePickerDialog的使用
一、可以同過重載DatePickerDialog的setTitle來設置個性的標題
比如:
@Override
public void setTitle(CharSequence title) {
// TODO Auto-generated method stub
java.text.DateFormat dataFormat = (DateFormat
.getDateFormat(getContext()));
mCalendar = Calendar.getInstance();
//可得到「12/31/1969(Wed)」形式的日期格式
String strTitle=dataFormat.format(mCalendar.getTime())
+ DateFormat.format(" (E)", mCalendar.getTime()).toString();
super.setTitle(dataFormat.format(strTitle);
}

二、通過onDateChanged回調函數監聽時間的改變
當時間改變時(編輯) 以下函數回被調用
public void onDateChanged(DatePicker view, int year, int month, int day) {
Log.i("hubin","onDateChanged");
}

三、通過updateDate()設置年月日
public void updateDate (int year, int monthOfYear, int dayOfMonth)設置DatePickerDialog的年,月,日

四、通過onDateChangedListener來監聽時間設置對話框的確定按鈕被按下
onDateChangedListener的onDateSet是用於都在時間設置對話框的確定按鈕被按下的監聽

import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;

public class TestClock extends Activity implements OnDateSetListener, OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button)findViewById(R.id.date);
btn.setOnClickListener(this);
}

public void onClick(View v) {//普通按鈕事件
Calendar d = Calendar.getInstance(Locale.CHINA);
//創建一個日歷引用d,通過靜態方法getInstance() 從指定時區 Locale.CHINA 獲得一個日期實例
Date myDate=new Date();
//創建一個Date實例
d.setTime(myDate);
//設置日歷的時間,把一個新建Date實例myDate傳入
int year=d.get(Calendar.YEAR);
int month=d.get(Calendar.MONTH);
int day=d.get(Calendar.DAY_OF_MONTH);
//獲得日歷中的 year month day
DatePickerDialog dlg=new DatePickerDialog(this,this,year,month,day);
//新建一個DatePickerDialog 構造方法中
// (設備上下文,OnDateSetListener時間設置監聽器,默認年,默認月,默認日)
dlg.show();
//讓DatePickerDialog顯示出來
}

public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth){
//DatePickerDialog 中按鈕Set按下時自動調用
TextView txt = (TextView) findViewById(R.id.text);
//通過id獲得TextView對象
txt.setText(Integer.toString(year) + "-" +
Integer.toString(monthOfYear) + "-" +
Integer.toString(dayOfMonth));
//設置text
}
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:id="@+id/text"
/>

<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/date"
android:text="設置時間"
>
</Button>
</LinearLayout>

⑹ 怎樣修改Android 修改顯示日期格式的默認值啊

1、首先找到手機「設置」或者「設定」的選項並進入;
2、然後找到「系統」選項裡面的「日期和時間」選項並進入(有的手機可能不用找「系統」這一項);
3、最後找到「選擇日期格式」這一項,進入,按照國際通用的集中格式自己選擇就好了。

⑺ android datepickerdialog 怎麼自定義

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<DatePicker
android:id="@+id/datePicker"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:spinnersShown="true"
android:calendarViewShown="false"
/>
<TimePicker
android:id="@+id/timePicker"
android:layout_gravity="center_horizontal"
android:layout_width="145dp"
android:layout_height="wrap_content"/>
</LinearLayout>

自定義一個dialog,使用自定義布局,布局裡面加入DatePicker(日期選擇控制項)或者TimePicker(時間選擇控制項),在主類中設置相應的監聽器就能獲取時間了。

當然這樣製作出來的時間選擇器的選擇控制項依然是系統自帶的,只能有限的幾種style,如果覺得不好看,只能自己使用各種基礎控制項和自定義邏輯來構建了。比如:用listView來滑動選擇時間,用button來控制listView滾動等等。

純手打~

⑻ android DatePickerDialog怎麼設置日期選擇范圍

您好,很高興為您解答。

自定義dialog實現的,在DatePicker的onDateChangedListentr事件中實現范圍的控制

{
/**.*/

@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
finalTextViewtext=(TextView)findViewById(R.id.text);
LayoutInflaterl=LayoutInflater.from(this);
Viewv=l.inflate(R.layout.dialog,null);
finalDatePickerdatePicker=(DatePicker)v
.findViewById(R.id.datepicker);

datePicker.init(2000,1,3,newOnDateChangedListener(){

@Override
publicvoidonDateChanged(DatePickerview,intyear,
intmonthOfYear,intdayOfMonth){

if(isDateAfter(view)){
view.init(2000,11,30,this);
}
if(isDateBefore(view)){
view.init(1949,11,30,this);
}
}

privatebooleanisDateAfter(DatePickertempView){
if(tempView.getYear()>2000){
returntrue;
}else
returnfalse;
}

privatebooleanisDateBefore(DatePickertempView){
if(tempView.getYear()<1921){
returntrue;
}else
returnfalse;
}
});
Dialogdialog=newAlertDialog.Builder(this)
.setTitle(
datePicker.getYear()+"年"
+(datePicker.getMonth()+1)+"月"
+datePicker.getDayOfMonth()+"日")
.setView(v)
.setIcon(R.drawable.ic_dialog_time)
.setNeutralButton("設置",newDialogInterface.OnClickListener(){

@Override
publicvoidonClick(DialogInterfacedialog,intwhich){

text.setText(datePicker.getYear()+"年"
+(datePicker.getMonth()+1)+"月"
+datePicker.getDayOfMonth()+"日");
}
})
.setNegativeButton("取消",newDialogInterface.OnClickListener(){

@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
dialog.cancel();

}
}).create();

dialog.show();

}
}


自定義的dialog.xml代碼如下【3.0版本之前】

[html]viewplain
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<DatePicker
android:id="@+id/datepicker"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

</LinearLayout>

【在3.0版本以後】

[java]viewplain
publicvoidonClick(Viewv){
switch(answer.type){
case1://日期類型

DatePickerDialogdialog=newDatePickerDialog(ctx,this,1980,0,
1);
DatePickerdatePicker=dialog.getDatePicker();
datePicker.setMinDate(DateUtils.getInstance().format("1970-01-01")
.getTime());
datePicker.setMaxDate(DateUtils.getInstance().format("2013-01-07")
.getTime());
dialog.show();
break;
}
}

@Override
publicvoidonDateSet(DatePickerview,intyear,intmonthOfYear,
intdayOfMonth){
editText.setText(year+"年"+(monthOfYear+1)+"月"+dayOfMonth
+"日");
}



如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】

希望我的回答對您有所幫助,望採納!

~ O(∩_∩)O~

⑼ Android下幾個相關的時間日期控制項的用法

獲取年月日,之前的日期不能選擇

日歷c = Calendar.getInstance(); //獲取系統的工具類【可以獲取時間】DatePickerDialog datePickerDialog = new DatePickerDialog(context,new DatePickerDialog.OnDateSetListener(){@覆蓋public void onDateSet(DatePicker view,int year,int month,int dayOfMonth){月+ = 1;yuyueTime.setText(year +「 - 」+ month +「 - 」+ dayOfMonth);}},c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DATE)); //設置默認時間。datePickerDialog.getDatePicker()setMinDate(c.getTime()的getTime()); //設置最小值datePickerDialog.show();

相關類的認識
選取器(的DatePicker,TimerPicker,NumberPicker)
其中的DatePicker和TimerPicker都有窗口的形式顯示日期和時間,再返回數據。

下面分別介紹這幾種時間類的使用方法。

一.DatePicker日期選擇類的使用

DatePicker的常用的XML屬性

XML屬性

描述

機器人:calendarViewShown 設置該日期選擇是否顯示CalendarView組件。

機器人:endYear 設置日期選擇器允許選擇的最後一年。

安卓的maxDate 設置該日期選擇器的最大日期。以MM / DD / YYYY格式指定最大日期。

安卓的minDate 設置該日期選擇器的最小日期。以MM / DD / YYYY格式指定最小日期。

機器人:spinnersShown 設置該日期選擇器是否顯示微調日期選擇組件。

機器人:startYear 設置日期選擇器允許選擇的第一年。


當用戶更改了的DatePicker里的年,月,日時,將觸發OnDateChangedListener監聽器的onDateChange()事件。

二.TimePicker日期選擇類的使用


當用戶更改了TimePicker里的時,分時,將觸發OnTimeChangedListener監聽器的onTimeChanged事件。

下面是日期選擇類和時間選擇類的一個使用示例:

(一)布局文件設計

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="顯示日期的控制項" /><DatePicker android:id="@+id/main_dp"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="顯示時間的控制項" /><TimePicker android:id="@+id/main_tp_showTime"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextView android:id="@+id/main_tv_showdate"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="顯示日期" /><TextView android:id="@+id/main_tv_showtime"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="顯示時間" /></LinearLayout>

閱讀全文

與android日期選擇器自定義相關的資料

熱點內容
javamidi編程 瀏覽:831
android60demo 瀏覽:65
頭條演算法怎麼復習 瀏覽:512
燈光控制通道可以編程設置嗎 瀏覽:781
webpack命令行 瀏覽:805
卸載雲伺服器操作系統 瀏覽:29
java文件移動文件夾 瀏覽:449
針織公斤足稱演算法 瀏覽:457
電腦下載的圖片從文件夾重新編組 瀏覽:645
安卓源碼編譯引導失敗 瀏覽:676
蘋果怎麼添加自定義app文件夾 瀏覽:930
橙牛app怎麼找客服 瀏覽:307
php對象魔術方法 瀏覽:487
OBV能量潮幅圖指標源碼 瀏覽:913
編程15個好習慣 瀏覽:676
電腦u盤文件夾顯示屏幕保護程序 瀏覽:801
我的世界伺服器版本怎麼下載 瀏覽:600
c代碼加密工具 瀏覽:357
使用泛型演算法的錯誤 瀏覽:739
單片機焊接要焊接多少個引腳 瀏覽:671