`

日期时间控件的使用

 
阅读更多

 

 1 经常用到日期时间控件选择日期和时间:

 java代码:

package com.example.fragmentdemo1;

import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;

/**
 * 日期和时间控件的使用与测试 
 * @author root
 * 参考 : http://www.cnblogs.com/menlsh/archive/2013/02/23/2923867.html
 *
 */
public class DateTimeActivity extends Activity {
	
 
	
	private EditText showDate = null;
	private EditText showTime = null;
	
    private static final int DATE_DIALOG_ID = 1;  
    private static final int TIME_DIALOG_ID = 3;
    
    private int mYear;  
    private int mMonth;
    private int mDay; 
    private int mHour;
    private int mMinute;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.date_time);
        
        initializeViews();
        
        final Calendar c = Calendar.getInstance();
        mYear = c.get(Calendar.YEAR);  
        mMonth = c.get(Calendar.MONTH);  
        mDay = c.get(Calendar.DAY_OF_MONTH);
        
        mHour = c.get(Calendar.HOUR_OF_DAY);
        mMinute = c.get(Calendar.MINUTE);
        
        setDateTime(); 
        setTimeOfDay();
    }
    
    /**
     * 初始化控件和UI视图
     */
    private void initializeViews(){
        showDate = (EditText) findViewById(R.id.showdate);  
        showTime = (EditText)findViewById(R.id.showtime);
    }

    /**
     * 设置日期
     */
	private void setDateTime(){
       final Calendar c = Calendar.getInstance();  
       
       mYear = c.get(Calendar.YEAR);  
       mMonth = c.get(Calendar.MONTH);  
       mDay = c.get(Calendar.DAY_OF_MONTH); 
  
       updateDateDisplay(); 
	}
	
	/**
	 * 更新日期显示
	 */
	private void updateDateDisplay(){
       showDate.setText(new StringBuilder().append(mYear).append("-")
    		   .append((mMonth + 1) < 10 ? "0" + (mMonth + 1) : (mMonth + 1)).append("-")
               .append((mDay < 10) ? "0" + mDay : mDay)); 
	}
	
	/**
	 * 设置时间
	 */
	private void setTimeOfDay(){
	   final Calendar c = Calendar.getInstance(); 
       mHour = c.get(Calendar.HOUR_OF_DAY);
       mMinute = c.get(Calendar.MINUTE);
       updateTimeDisplay();
	}
	
	/**
	 * 更新时间显示
	 */
	private void updateTimeDisplay(){
       showTime.setText(new StringBuilder().append(mHour).append(":")
               .append((mMinute < 10) ? "0" + mMinute : mMinute)); 
	}
    
//    @Override  
//    protected void onPrepareDialog(int id, Dialog dialog) {  
//       switch (id) {  
//       case DATE_DIALOG_ID:  
//           ((DatePickerDialog) dialog).updateDate(mYear, mMonth, mDay);  
//           break;
//       case TIME_DIALOG_ID:
//    	   ((TimePickerDialog) dialog).updateTime(mHour, mMinute);
//    	   break;
//       }
//    }  
//    
    /*
     * Function  :        Button按钮响应
     * Param         :        v按钮对象
     */
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.pickdate:
            MyDatePickerDialog myDatePickerDialog = new MyDatePickerDialog();
            DatePickerDialog datePickerDialog = new DatePickerDialog(this, 
                    myDatePickerDialog,mYear, mMonth, mDay);
            datePickerDialog.show();                //显示日期设置对话框
            break;
        case R.id.picktime:
            MyTimePickerDialog myTimePickerDialog = new MyTimePickerDialog();
            TimePickerDialog timePickerDialog = new TimePickerDialog(this, 
                    myTimePickerDialog, mHour, mMinute, true);
            timePickerDialog.show();            //显示时间设置对话框
            break;
        }
    }
    
    /*
     * Function  :       自定义MyDatePickerDialog类,用于实现DatePickerDialog.OnDateSetListener接口,
     *                           当点击日期设置对话框中的“设置”按钮时触发该接口方法
     */
    public class MyDatePickerDialog implements DatePickerDialog.OnDateSetListener {
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            mYear = year;  
            mMonth = monthOfYear;  
            mDay = dayOfMonth;  
            
            updateDateDisplay(); 
        }
    }    
     
    /*
     * Function  :       自定义MyTimePickerDialog类,用于实现TimePickerDialog.OnTimeSetListener接口,
     *                           当点击时间设置对话框中的“设置”按钮时触发该接口方法
     */
    public class MyTimePickerDialog implements TimePickerDialog.OnTimeSetListener {
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

			mHour = hourOfDay;
			mMinute = minute;
			updateTimeDisplay();
 
        }        
    }
    
}

 

 

 

 2 使用的xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="欢迎" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="日期和时间控件的使用" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/showdate"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <Button
            android:id="@+id/pickdate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="选择日期" android:onClick="onClick"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/showtime"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <Button
            android:id="@+id/picktime"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="选择时间" android:onClick="onClick"/>
    </LinearLayout>

</LinearLayout>

 

分享到:
评论

相关推荐

    JS/WEB日期时间控件

    日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期...

    在PB中使用日期时间控件

    下面将详细介绍如何在PowerBuilder中使用日期时间控件,以及它的一些关键特性。 首先,我们需要了解PowerBuilder中的两种主要日期时间控件类型:DateTimeCtrl和DateCtrl。DateTimeCtrl允许用户选择日期和时间,而...

    pb强大的日期时间控件

    总的来说,"pb强大的日期时间控件"提供了丰富的日期和时间处理功能,对于使用PowerBuilder进行应用开发的程序员来说,这是一个非常实用的工具集,可以帮助他们快速构建具有专业界面和高效操作的软件系统。...

    WPF日期时间控件

    本文将深入探讨“WPF日期时间控件”,包括它的功能、使用方式以及自定义日期时间格式的方法,并结合提供的源代码文件`DateTimePicker.xaml`和`DateTimePicker.xaml.cs`进行分析。 首先,WPF中的日期时间控件主要有...

    Extjs 5 日期时间控件

    在ExtJS 5中,日期时间控件是开发用户界面时经常会用到的组件,它允许用户选择和输入日期及时间值。本篇文章将深入探讨ExtJS 5的日期时间控件及其特点。 首先,ExtJS 5 的日期时间控件(DateTimeField)结合了日期...

    VC/MFC使用日期控件设置、获取日期时间信息

    在这个话题中,我们将深入探讨如何在MFC应用中使用日期控件(CDateTimeCtrl)来设置和获取日期时间信息。日期控件是用户界面中常见的元素,它允许用户选择一个日期或时间,通常用于日程管理、事件记录等场景。 首先...

    WPF带时间的日期选择控件

    2. 使用第三方库:有一些开源库如Telerik、DevExpress等提供了扩展的UI控件,其中包括带有时间选择功能的日期选择器。这些库通常提供了丰富的定制选项和良好的用户体验。 3. XAML与C#结合:开发者可能利用XAML来...

    日期时间控件_日期时间控件_

    在各种编程语言和框架中,如.NET、Java、JavaScript、Python等,都有相应的日期时间控件库可供使用。 2. 集成到Window应用: 在Windows应用程序开发中,例如使用C#或VB.NET,我们可以使用内置的DateTimePicker控件...

    Android强大的日期时间选择控件

    在Android开发中,日期时间选择控件是用户界面中常见且重要的组成部分,它允许用户方便地选择日期或时间。在Android SDK中,内置了DatePicker和TimePicker两种原生控件,但有时候,开发者可能需要更加强大、定制化的...

    日期选择时间控件 很强悍的

    在使用日期选择时间控件时,开发者需要注意兼容性问题,确保控件在各种浏览器(如Chrome、Firefox、Safari、Edge和Internet Explorer)以及不同设备(桌面、平板、手机)上都能正常工作。此外,考虑到无障碍性(WCAG...

    日期时间控件包

    日期时间控件在IT开发中扮演着至关重要的角色,它们为用户提供了一种直观的方式来选择或输入日期和时间,极大地提高了用户界面的交互性和用户体验。"日期时间控件包"正是一款专为此目的设计的工具,它集合了丰富的...

    WebForm下日期时间选择控件

    本文将深入探讨在WebForm下如何使用日期时间选择控件,以及其相关特性。 首先,日期时间选择控件允许用户方便地选取日期和时间,而无需手动输入。在WebForm中,ASP.NET提供了多种内置的日期时间选择控件,如`asp:...

    日期时间控件DateTimePicker

    通过修改CSS样式或者使用预定义的主题,可以改变日期时间控件的颜色、大小和布局。 总的来说,DateTimePicker是一个强大且灵活的日期时间选择工具,它为Web开发者提供了简单易用的API,以实现高效的日期时间输入。...

    delphi日期时间控件

    "delphi日期时间控件" 提供了一种高效的方法,允许用户同时选择日期和时间,大大增强了用户体验。这里我们将深入探讨这种控件以及与其相关的知识点。 首先,TMS Component Pack是一个强大的第三方组件库,它包含了...

    C# ASP.NET 时间控件_日期时间选择输入框控件。

    习惯了C# WinForm上使用DateTimePicker,在ASP.NET开发页面时,发现最简单的日期时间输入选择框居然没有现成的控件,很有束手无策的感觉。网上找了很多,除了牛人自己写控件外,大多数都是使用My97DatePicker这个第...

    WPF日期时间控件 DateTimePicker

    WPF自带的控件中只有Datepicker这个控件,不足以满足功能,鉴于WPF强大的自定义控件Usercontrol的功能,所以修改了一个支持选择日期时间控件---DateTimePicker,

    jquery 日期时间控件

    在使用jQuery日期时间控件时,首先需要确保引入了jQuery库,因为这个控件是构建在jQuery基础上的。这通常通过在HTML文件中添加jQuery库的CDN链接或者将jQuery库文件下载到本地并链接到项目中来实现。例如: ```html...

    js日期时间控件-日期,时间

    可以选择时间的控件,js日期时间...可以选择时间的控件,js日期时间控件可以选择时间的控件,js日期时间控件可以选择时间的控件,js日期时间控件可以选择时间的控件,js日期时间控件可以选择时间的控件,js日期时间控件

    Jquery时间日期控件[修改][日期时间-日期-时间]

    在日期时间控件方面,jQuery提供了一些插件,如jQuery UI的Datepicker和Bootstrap DateTimePicker,这些插件能够帮助开发者轻松创建用户友好的时间日期选择器。 1. **jQuery UI Datepicker**: 这是jQuery的一个核心...

    WPF日期时间控件-DateTimePicker

    在Windows Presentation ...无论是初学者还是经验丰富的开发者,都能从中获取到关于日期时间控件设计和实现的宝贵知识。通过深入研究源代码和相关文档,我们可以更好地理解和掌握WPF框架下的UI设计和编程技巧。

Global site tag (gtag.js) - Google Analytics