昨天给大家分享了一个时间和日期设置的小例子,今天发现Android的布局组件中有关于时间和日期的设置的组件,废话不多说,先给大家分享一下我的经验。

  时间日期设置组件:TimePicker、DatePicker

在布局文件中直接可以添加到我们的布局样式中,大家看代码:

<LinearLayout
android:id="@+id/linear1"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<EditText
android:id="@+id/editview"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:id="@+id/linear2"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
    //时间设置组件
<TimePicker
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
    //日期设置组件
<DatePicker
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>

.java文件:

public class MainActivity extends Activity {

	private EditText myedit = null;
    //对两个组件进行声明
private TimePicker time = null;
private DatePicker date = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);          //设置Activity的显示方向为横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); myedit = (EditText)findViewById(R.id.editview);
         //调用布局文件中的两个组件
time = (TimePicker)findViewById(R.id.time);
date = (DatePicker)findViewById(R.id.date);
//time.setIs24HourView(true);//设置采用24小时制的时间显示,系统默认12小时制
time.setOnTimeChangedListener(new mytime());
         //在这里需要注意的是日期没有ondatechangedlistener()方法,我们这里通过调用日期的init()方法设置。
date.init(this.date.getYear(), this.date.getMonth(), this.date.getDayOfMonth(), new myDate());
this.setDateTime();
}
      //时间改变事件监听:    

      class mytime implements OnTimeChangedListener{

		@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
MainActivity.this.setDateTime();
}
}

    //日期改变事件监听
@SuppressLint("NewApi")
class myDate implements OnDateChangedListener{ @Override
public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
MainActivity.this.setDateTime();
}
} public void setDateTime() { // 由于日期时间更改之后文本输入组件的内容也要修改
this.myedit.setText(this.date.getYear() + "-"
+ (this.date.getMonth() + 1) + "-" + this.date.getDayOfMonth()
+ " " + this.time.getCurrentHour() + ":"
+ this.time.getCurrentMinute()); // 修改文本的内容
} }

  

效果图如下: 

 

  个人感觉在这个例子中比较难的点在于,日期事件没有OnChangedListener()方法,在这里我们使用了日期的init()方法来代替。其次就是如何控制Activity的显示方向,Activity的显示方向默认是竖屏显示,我们可以通过java文件从新设置,也可以在配置文件中进行设置,个人感觉在java文件中的设置比较灵活。

  内容不是什么难点,仅仅为了和大家分享,求高手指点。

  

Android开发之时间日期2的更多相关文章

  1. Android开发之时间日期1

     对于手机的时间日期设置估计大家一定都不陌生吧,今天做了一个关于时间日期设置的小例子,其中遇到一个问题,求指导,如何使设置的时间日期和手机系统同步?还望高手指点一二. 先不说这个了,分享一下我的小例子 ...

  2. Android中的时间日期选择器

    1.layout <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xml ...

  3. android开发 系统时间与定时器之间有关系嘛?

    如题: android开发 系统时间与定时器之间有关系嘛? 答案:有. 看定时器源码: /* * Schedule a task. */ private void scheduleImpl(Timer ...

  4. Android 桌面Widget开发要点(时间日期Widget)

    最近需要编写一个日期时间的桌面Widget用来关联日历程序,以前很少写桌面Widget.对这方面技术不是很熟悉,今天花时间重新整理了一下,顺便把编写一个简单时间日期程序过程记录下来. 桌面Widget ...

  5. Android 开发笔记___DatePicker__日期选择器

    虽然EditText提供了inputTtype="date",但用户往往不太喜欢自己输入时间. Android为这个提供了DatePicker,但有很多缺点,不是弹窗模式,而是直接 ...

  6. Android开发中的日期格式化

    下面的转换符来自Java,但是在android中同样可用.(以下表格内容来自互联网.) 常见日期格式化转换符 转换符 说 明 示 例 %te  一个月中的某一天(1-31)  2 %tb  指定语言环 ...

  7. Android入门之时间日期控件

    效果图: MainActivity.java package com.jkxqj.helloandroid; import android.app.Activity; import android.o ...

  8. 第32讲 UI组件之 时间日期控件DatePicker和TimePicker

    第32讲 UI组件之 时间日期控件DatePicker和TimePicker 在Android中,时间日期控件相对来说还是比较丰富的.其中, DatePicker用来实现日期输入设置,    Time ...

  9. 开年钜献:华清远见金牌讲师名家大讲堂(Android开发篇)

        华清远见作为嵌入式培训领导品牌,嵌入式就业课程已成为业内公认的专业人才培养体系!华清远见致力于让更多嵌入式技术爱好者及在校大学生获得一线嵌入式系统开发关键技术应用的经验,于2009年始开办名家 ...

随机推荐

  1. [转] How to import a large data set using XPO efficiently within a transaction

    https://www.devexpress.com/Support/Center/Example/Details/T333879

  2. onBlur事件与onfocus事件(js)

      onFocus事件就是当光标落在文本框中时发生的事件. onBlur事件是光标失去焦点时发生的事件. 可以编如下例子 1.html <HTML><HEAD><TITL ...

  3. Linux内核--网络栈实现分析(八)--应用层发送数据(下)

    本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7547826 更多请查看专栏,地 ...

  4. 【转】Eclipse打JAR包,插件FatJar安装与使用

    原文地址:http://blog.csdn.net/jikeyzhang/article/details/4731968 下载RUL: 下载fatJar插件,解压缩后是一个.../plugins/(n ...

  5. Linux计划任务crontab运行脚本不正确的问题

    问题的由来 写好的程序希望在崩溃之后能够自启动,于是利用linux的crontab功能,添加一个计划任务,每分钟执行一个脚本查看需要监控的进程是否还在,如果不在则启动之,否则不做任何事情.这么一个简单 ...

  6. AngularJs学习的前景及优势

    一.趋势 互联网未来的发展趋势是前端后端只靠json数据来进行通信.后端只处理和发送一段json数据到前端,然后计算和模板渲染都在前端进行,而前端的改动,形成json数据然后传回到后端.未来趋势就是: ...

  7. sublime Text 2 制表符

    写python的时候经常会有提示indent expected错误很常见,比如同一个文件有的是用空格敲出来的,有的是用tab键出来的这时候错误很难排查,这里说说在notepad++跟sublime下的 ...

  8. 【腾讯Bugly干货分享】iOS黑客技术大揭秘

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5791da152168f2690e72daa4 “8小时内拼工作,8小时外拼成长 ...

  9. vCPU估算的几个基本概念

    物理CPU数量:实际服务器插槽上的CPU个数: 核:一块CPU上面能处理数据的芯片组的数量: 超线程:在一个实体芯片组中提供两个逻辑线程: 逻辑CPU数量:物理CPU数量*核*超线程(若支持超线程,该 ...

  10. 浏览器兼容性小记-DOM篇(一)

    1.childNodes引入空白节点问题:使用childElementCount或children 2.innerText: FF中不支持该属性,使用textContent代替 3.变量名与某HTML ...