`
god_sky
  • 浏览: 141754 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android日期控件显示

 
阅读更多


  1.  main.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:text="@string/starttime"/>

 <EditText android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:focusable="true"
     android:focusableInTouchMode="true"
     android:id="@+id/starttime"/>
 
     <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/endstime"/>
 
  <EditText android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:focusable="true"
     android:focusableInTouchMode="true"
     android:id="@+id/endtime"/>

</LinearLayout>

 

 

2.strings.xml文件

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="hello">Hello World, MainActivity!</string>
    <string name="app_name">日期控件使用</string>
 <string name="starttime">开始时间</string>
 <string name="endstime">结束时间</string>
</resources>

 

3.activity文件

import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.Dialog;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.DatePicker;
import android.widget.EditText;

public class MainActivity extends Activity {
 
 private EditText startText;
 
 private EditText endText;
 
 private Calendar cdar=Calendar.getInstance();
 private int mYear=cdar.get(Calendar.YEAR);
 private int mMonth=cdar.get(Calendar.MONTH);
 private int mDay=cdar.get(Calendar.DATE);
 
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        startText=(EditText)findViewById(R.id.starttime);
        endText=(EditText)findViewById(R.id.endtime);
       
        //注册点击时间的监听
        startText.setOnClickListener(new MyOnClickListener(startText.getId()));
        endText.setOnClickListener(new MyOnClickListener(endText.getId()));
       
        //焦点改变时的监听
        startText.setOnFocusChangeListener(new MyOnFocusChangeListener(startText.getId()));
        endText.setOnFocusChangeListener(new MyOnFocusChangeListener(endText.getId()));
       
    }
   
    // 隐藏手机键盘
    private void hideIM(View edt){
        try {
            InputMethodManager im = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
            IBinder windowToken = edt.getWindowToken();
            if (windowToken != null) {
                im.hideSoftInputFromWindow(windowToken, 0);
            }
        }catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 创建要显示的对话框
     */
    protected Dialog onCreateDialog(int id) {
   
        switch (id) {  
            case R.id.starttime:
                return new DatePickerDialog(this, new MyOnDateSetListener(id), mYear, mMonth, mDay);
            case R.id.endtime:
                return new DatePickerDialog(this, new MyOnDateSetListener(id), mYear, mMonth, mDay);
        }
        return null;
    }
   
   
    /**
     * 点击事件的监听
     * @author sweet
     *
     */
    private final class MyOnClickListener implements OnClickListener{
     private int pointId;
     public MyOnClickListener(int id){
      this.pointId=id;
     }
  @Override
  public void onClick(View v) {
    hideIM(v);
   showDialog(pointId);
  }
     
    }
   
    /**
     * 焦点改变时的监听对象
     * @author sweet
     *
     */
    private final class MyOnFocusChangeListener implements OnFocusChangeListener{
     private int pointId;
     public MyOnFocusChangeListener(int id){
      this.pointId=id;
     }

  @Override
  public void onFocusChange(View v, boolean hasFocus) {
   if (hasFocus) {
             hideIM(v);
             showDialog(pointId); 
         }
  }
     
    }
   
    /**
     * 选择日期控件
     * @author sweet
     *
     */
    private final class MyOnDateSetListener implements OnDateSetListener{
     private int pointId;
     public MyOnDateSetListener(int id){
      this.pointId=id;
     }
     
  @Override
  public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
             String mm = monthOfYear<=9 ? "0" + (monthOfYear + 1) : String.valueOf(monthOfYear + 1);
             String dd=dayOfMonth <= 9 ? "0" + dayOfMonth : String.valueOf(dayOfMonth);
             ((EditText)findViewById(pointId)).setText(String.valueOf(year) + "-" + mm + "-" + dd);
  }
    }
}

 

 

 

  • 大小: 211.3 KB
分享到:
评论
1 楼 yuhui136126 2013-08-26  
我试了下好像不弹出选择时间这个,能帮忙是什么原因吗?

相关推荐

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

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

    android 日期区间选择控件

    在Android开发中,日期区间选择控件是一种常用的用户界面组件,尤其在预订系统、日程管理等场景下不可或缺。本文将深入探讨如何实现一个能够选取年月区间的自定义控件,以及涉及到的相关技术点。 首先,我们需要...

    android 时间日期控件

    在Android开发中,时间日期控件是用户界面中常见的组件,用于让用户选择日期或时间。在本示例中,我们关注的是如何在Android应用中添加并使用这些控件。我们将探讨如何通过添加按钮来触发日期和时间的选择,并将选定...

    H5 IOS Android 通用日期控件

    【标题】"H5 IOS Android 通用日期控件"指的是一个可以跨平台使用的HTML5(H5)组件,它能够为iOS和Android设备提供统一的日期选择功能。这个控件通常是一个JavaScript库或者CSS框架,使得开发者在创建Web应用时,...

    android 日历控件 可选开始时间结束时间

    在Android开发中,日历控件是经常被用于创建日期选择功能的重要组件,尤其是在预订、计划等场景下,用户需要设定一个开始时间和结束时间。"android 日历控件 可选开始时间结束时间"这个标题所提及的就是这样一个特定...

    android 用户自定义日期控件 可拖动

    在"android 用户自定义日期控件 可拖动"的描述中,提到了该控件不仅可以显示日期,还可以显示时间,甚至同时显示日期和时间,这意味着它具备较高的灵活性。用户在导入这个控件后,只需运行应用,就能立即查看到其...

    Android漂亮的日期选择控件

    在Android应用开发中,UI设计和用户体验是至关重要的部分,其中日期选择控件是一个常见的功能需求,例如在日程安排、生日输入等场景。本文将详细介绍一个名为"Android漂亮的日期选择控件"的资源,它提供了美观且易于...

    Android 非常漂亮的滚动选择日期控件

    "Android 非常漂亮的滚动选择日期控件"是一个旨在提供美观、易用的日期选择体验的解决方案。这个控件可能采用了自定义视图或者现有的库,如`DatePicker`或第三方库,如`Material-Design-Libraries`等,来实现滚动...

    Android 日期选择控件

    在给定的“Android 日期选择控件”主题中,我们关注的是一个特别设计的控件,它允许用户通过上下滑动的方式进行交互,并且在选定的日期后会自动显示年、月、日的文字信息,提供了更为直观的视觉反馈。 首先,我们要...

    Android自定义日期选择控件DatePickerDialog

    在Android开发中,系统提供了许多内置的UI控件,其中包括日期选择器DatePicker。然而,有时候开发者需要根据项目需求对默认的控件进行自定义,使其更符合应用的风格或者提供更丰富的交互体验。本篇文章将深入探讨...

    Android自定义滚轮式日期(时间)选择控件

    在Android开发中,为了提供用户友好的交互体验,开发者经常需要自定义各种控件,其中滚轮式日期和时间选择控件是一种常见的需求。这种控件通常用于设置事件的日期和时间,比如日历应用、闹钟设定等场景。本文将深入...

    Android 日期控件只显示年月

    * 从当前Dialog中查找DatePicker子控件 * * @param group * @return */ private DatePicker findDatePicker(ViewGroup group) { if (group != null) { for (int i = 0, j = group.getChildCount();...

    Android日期时间选择控件

    在压缩包中的"android日期时间选择控件"可能包含了这样一个自定义控件的源代码。通过研究和使用这个控件,开发者可以学习如何利用自定义视图来解决原生控件的不足,同时也可以根据自己的需求进行二次开发。这可能...

    Android 非常漂亮的滚动选择日期控件.zip

    【Android 滚动选择日期控件:DateSlider】是一个为安卓应用开发者设计的独特组件,它提供了一种优雅且直观的方式来让用户选择日期。这个控件不仅具备美观的界面,而且交互方式新颖,用户可以通过触屏滚动来选取所需...

    Android炫酷的星期日期选择控件RollWeekView

    综上所述,创建一个如"RollWeekView"这样的自定义日期选择控件涉及到Android自定义视图、动画、触摸事件处理等多个技术点。通过巧妙地组合这些技术,我们可以构建出一个既实用又美观的UI组件,提升应用的整体体验。...

    只显示年月的Android时间控件(通用版)

    我们要了解Android中的时间选择通常通过DatePicker控件来完成,但默认的DatePicker会展示日、月、年的全部选项,而这个通用版的控件则只显示年月部分,简化了用户的选择流程,更适合那些只需要选择年月而不关心具体...

    Android 所有控件的使用

    7. **列表(ListView/RecyclerView)**:ListView是旧版Android中的列表控件,RecyclerView是现代替代品,用于显示可滚动的项目列表。两者都可以结合Adapter实现数据绑定。 8. **滑动条(SeekBar)**:SeekBar允许用户...

    android日期控件

    本篇将详细讲解如何封装一个简单的Android日期控件,并探讨其优势以及如何在项目中使用。 首先,我们来看标题提到的"android日期控件"。在Android原生API中,有多种方式来实现日期选择,如DatePickerDialog和...

    android 定制日期控件

    "android 定制日期控件"和"android 滚动日期控件"的描述,表明我们将探讨如何在Android应用中创建一个可滚动的选择日期的自定义视图。这个控件可能是一个替代系统默认的DatePicker,提供更个性化的交互方式。 日期...

Global site tag (gtag.js) - Google Analytics