1-日期时间视图 2-长按事件

日期时间
日历视图 CalendarView
firstDayOfWeek 设置以星期几作为开始
1-星期日;2-星期一;以此类推
日期范围
maxDate 最大日期
minDate 最小日期
设置形式
mm/dd/yyyy
监听器
CalendarView.OnDateChangeListener()
onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth)
month,从0开始表示1月份
日期选择器 DatePicker
日期范围
maxDate 最大日期
minDate 最小日期
设置形式
mm/dd/yyyy
startYear 可选的开始年度
endYear 可选的结束年度
calendarViewShown是否显示日历组件
以上属性设置在4.X下有效
监听器
初始化 init(年,月,日,监听器的实现类的实例)
时间选择器
setIs24HourView(true/false) 设置是否以24小时制显示
监听器
TimePicker.OnTimeChangedListener()
onTimeChanged(TimePicker view, int hourOfDay, int minute)

<?xml version="1.0" encoding="utf-8"?>
<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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.hanqi.testapp2.TestActivity2"
    android:orientation="vertical">

    <CalendarView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:firstDayOfWeek="2"
        android:maxDate="12/31/2016"
        android:minDate="01/01/2016"
        android:id="@+id/cv_1"
        android:visibility="gone">
    </CalendarView>

    <DatePicker
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:calendarViewShown="false"
        android:startYear="2010"
        android:endYear="2020"
        android:maxDate="01/01/2018"
        android:minDate="01/01/2015"
        android:id="@+id/dp_1"
        android:visibility="gone">

    </DatePicker>

    <TimePicker
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tp_1">

    </TimePicker>

</LinearLayout>
package com.hanqi.testapp2;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.CalendarView;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;

public class TestActivity2 extends AppCompatActivity {

    CalendarView cv_1;

    DatePicker dp_1;

    TimePicker tp_1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test2);

        cv_1=(CalendarView)findViewById(R.id.cv_1);

        cv_1.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
            @Override
            public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {

                Toast.makeText(TestActivity2.this, "选中的日期是"+year+"-"+(month+1)+"-"+dayOfMonth, Toast.LENGTH_SHORT).show();
            }
        });

        dp_1=(DatePicker)findViewById(R.id.dp_1);

        //初始化日期选择器
        dp_1.init(2015, 0, 1, new DatePicker.OnDateChangedListener() {
            @Override
            public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

                Toast.makeText(TestActivity2.this, "选中的日期是"+year+"-"+(monthOfYear+1)+"-"+dayOfMonth, Toast.LENGTH_SHORT).show();
            }
        });

        tp_1=(TimePicker)findViewById(R.id.tp_1);

        tp_1.setIs24HourView(true);

        tp_1.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
            @Override
            public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {

                Toast.makeText(TestActivity2.this, "选择的时间是"+hourOfDay+":"+minute, Toast.LENGTH_SHORT).show();
            }
        });
    }

}

回调方法
负责处理事件
由监听器监听到事件之后自动调用
有的回调方法带boolean的返回值
表示事件是否不需要再被其他监听器处理了
true 表示不需要

<?xml version="1.0" encoding="utf-8"?>
<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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.hanqi.testapp2.TestActivity3"
    android:orientation="vertical">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮"
        android:id="@+id/bt_1" />

</LinearLayout>
package com.hanqi.testapp2;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class TestActivity3 extends AppCompatActivity {

    Button bt_1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test3);

        bt_1=(Button)findViewById(R.id.bt_1);

        //点击
        bt_1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Toast.makeText(TestActivity3.this, "按钮被点击了", Toast.LENGTH_SHORT).show();
            }
        });

        //长按
        bt_1.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {

                Toast.makeText(TestActivity3.this, "按钮被长按了", Toast.LENGTH_SHORT).show();

                //事件是否已经被消费
                return true;
            }
        });
    }
}

      

时间: 2024-08-16 15:42:20

1-日期时间视图 2-长按事件的相关文章

时间日期事件处理,长按事件

OnTimeChangedListener(日期和时间的事件处理) DatePicker /*取得DatePicker对象,以init()设置初始值与OnDateChangedListener()*/ DatePicker dp= (DatePicker)findViewById(R.id.DatePicker01); dp.init (year, month, day, new OnDateChangedListener () { public void onDateChanged(DateP

iOS UIButton长按事件

//UIButton *aBtn=[UIButton buttonWithType:UIButtonTypeCustom];//[aBtn setFrame:CGRectMake(40, 100, 60, 60)]; [aBtn setBackgroundImage:[UIImage imageNamed:@"111.png"] forState:UIControlStateNormal];//button点击事件 [aBtn addTarget:self action:@select

Android界面编程——日期时间组件(五)

Android界面编程--日期时间组件 2.6日期时间组件 2.6.1 TextClock 以文本的方式显示系统日期和时间,可以自定义显示格式,是 Android4.2(对应API Level 17)提供的新特性. TextClock有两种格式设置方式: 1. 在24小时模式: 属性:android:format24Hour 方法:set Format24Hour(CharSequence) 2. 在12小时模式: 属性:android: format12Hour 方法:set Format12

家庭记账本app进度之android中AlertDialog的相关应用以及对日期时间的相关操作(应用alertdialog使用的谈话框)

对于AlertDialog的相关知识: 1.创建构造器AlertDialog.Builder的对象:    2.通过构造器对象调用setTitle.setMessage.setIcon等方法构造对话框的标题.信息和图标等内容:    3.根据需要调用setPositive/Negative/NeutralButton()方法设置正面按钮.负面按钮和中立按钮:    4.调用构造器对象的create方法创建AlertDialog对象:    5.AlertDialog对象调用show方法,让对话框

Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定

一放假就高产似母猪了. 00.混乱的前端界 Angular1.x确实是个学习成本很高的框架,刚开始实习那会儿,前端啥也不懂,工头说用Angular,我们这群小弟也只能硬着头皮学.在这之前,前端的东西大部分都用的jQuery,而Angular正好是和jQuery的思维是相反的,开发过程中遇到了不少坑.而Angular团队也放弃了1.x开始开发和React神似的2.0版本,唉,真是沧海桑田啊. 01.Angular vs jQuery Angular模块化和解耦的思路确实值得一学,但是相对于成熟的j

Sql日期时间格式转换

Sql日期时间格式转换 sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/ CONVERT(varchar(10), 时间一, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截取*/ 语句及查询结果:Select CONV

DELPHI日期时间函数(DateUtils单元)

原文出自:http://shao171.blog.163.com/blog/static/238397019201502011844293/ CompareDate 函数 比较两个日期时间值日期部分的大小 CompareDateTime 函数 比较两个日期时间值的大小 CompareTime 函数 比较两个日期时间值时间部分的大小 DateOf 函数 去除日期时间值的时间部分 DateTimeToJulianDate 函数 转换日期时间值为儒略日 DateTimeToModifiedJulian

实例365(6)---------DateTime.ToString格式化日期,使用DateDiff方法获取日期时间的间隔数

一:DateTime.ToString格式化日期,截图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace TmrFormat { public part

触发UIButton长按事件

UIButton *aBtn=[UIButton buttonWithType:UIButtonTypeCustom]; [aBtn setFrame:CGRectMake(40, 100, 60, 60)]; [aBtn setBackgroundImage:[UIImage imageNamed:@"111.png"]forState:UIControlStateNormal]; //button点击事件 [aBtn addTarget:self action:@selector(