导航:首页 > 操作系统 > 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日期选择器自定义相关的资料

热点内容
租个服务器开个私服需要什么 浏览:272
图片换成pdf格式 浏览:661
javamidi编程 浏览:831
android60demo 浏览:65
头条算法怎么复习 浏览:512
灯光控制通道可以编程设置吗 浏览:781
webpack命令行 浏览:805
卸载云服务器操作系统 浏览:29
java文件移动文件夹 浏览:449
针织公斤足称算法 浏览:457
电脑下载的图片从文件夹重新编组 浏览:645
安卓源码编译引导失败 浏览:676
苹果怎么添加自定义app文件夹 浏览:930
橙牛app怎么找客服 浏览:307
php对象魔术方法 浏览:487
OBV能量潮幅图指标源码 浏览:915
编程15个好习惯 浏览:676
电脑u盘文件夹显示屏幕保护程序 浏览:803
我的世界服务器版本怎么下载 浏览:600
c代码加密工具 浏览:359