新思想

Date 和 Time

DateTime1

DateTime2

DateTime3

DateTime4

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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:scrollbars="vertical"
    tools:context="com.xiesir.example14datetime.MainActivity">

    <LinearLayout 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"
        android:orientation="vertical">

        <TextView
            android:text="一、TextClock(文本时钟)\n
is24HourModeEnabled():是否使用24进制时间\n
format12Hour / setFormat12Hour(CharSequence):12时制\n
format24Hour / setFormat24Hour(CharSequence):24时制\n
timeZone / setTimeZone(String):设置时区\n
CharSequence:定义时间格式"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <TextClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:format12Hour="yyyy-MM-dd E h:mmaa" />
        <!--<TextClock-->
        <!--android:layout_width="wrap_content"-->
        <!--android:layout_height="wrap_content"-->
        <!--android:format12Hour="MM/dd/yy h:mmaa" />-->
        <TextClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:format12Hour="MMM dd, yyyy h:mmaa" />
        <TextClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:format12Hour="MMMM dd, yyyy h:mmaa" />
        <TextClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:format12Hour="E, MMMM dd, yyyy h:mmaa" />
        <TextClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:format12Hour="EEEE, MMMM dd, yyyy h:mmaa" />
        <TextClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:format12Hour="Noteworthy day: 'M/d/yy" />

        <TextView
            android:text="二、AnalogClock(模拟时钟)\n
dial/ hand_hour/ hand_minute:背景图、时针图、分钟图"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <AnalogClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:text="三、Chronometer(计时器)"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <Chronometer
            android:id="@+id/chronometer"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textColor="#007Fff"
            android:textSize="60dip" />

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

            <Button
                android:id="@+id/btnStart"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="开始" />

            <Button
                android:id="@+id/btnStop"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="停止" />

            <Button
                android:id="@+id/btnReset"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="重置" />

            <Button
                android:id="@+id/btn_format"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="格式化" />
        </LinearLayout>

        <TextView
            android:text="四、DatePicker(日期选择器)\n
OnDateChangedListener():mode为spinner时完成事件监听"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <!--<DatePicker-->
        <!--android:calendarViewShown="true"-->
        <!--android:datePickerMode="spinner"-->
        <!--android:layout_width="wrap_content"-->
        <!--android:layout_height="wrap_content">-->
        <!--</DatePicker>-->

        <DatePicker
            android:id="@+id/dp"
            android:calendarViewShown="false"
            android:datePickerMode="spinner"
            android:minDate="1/1/2010"
            android:maxDate="12/31/2020"
            android:layout_gravity="center_horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <!--android:spinnersShown="true"-->

        <DatePicker
            android:headerBackground="#7F7F7F"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:text="五、TimePicker(时间选择器)\n
OnTimeChangedListener:监听事件"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <TimePicker
            android:id="@+id/tp"
            android:timePickerMode="spinner"
            android:layout_width="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_height="wrap_content"></TimePicker>

        <TimePicker
            android:timePickerMode="clock"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"></TimePicker>

        <TextView
            android:text="六、CalendarView(日历视图)\n
OnDateChangeListener:监听事件"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <CalendarView
            android:id="@+id/cv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"></CalendarView>

    </LinearLayout>
</ScrollView>

MainActivity.java:

package com.xiesir.example14datetime;

import android.os.SystemClock;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CalendarView;
import android.widget.Chronometer;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity implements View.OnClickListener, Chronometer.OnChronometerTickListener, DatePicker.OnDateChangedListener {

    private Chronometer chronometer;
    private Button btn_start, btn_stop, btn_base, btn_format;

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

        initView();

        DatePicker dp = (DatePicker) findViewById(R.id.dp);
        Calendar calendar = Calendar.getInstance();
        int year=calendar.get(Calendar.YEAR);
        int monthOfYear=calendar.get(Calendar.MONTH);
        int dayOfMonth=calendar.get(Calendar.DAY_OF_MONTH);
        dp.init(year, monthOfYear, dayOfMonth,this);

        TimePicker tp = (TimePicker) findViewById(R.id.tp);
        tp.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
            @Override
            public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
                Toast.makeText(MainActivity.this, "您选择的时间是:" + hourOfDay + "时" + minute + "分!", Toast.LENGTH_SHORT).show();
            }
        });

        CalendarView cv = (CalendarView) findViewById(R.id.cv);
        cv.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
            @Override
            public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
                Toast.makeText(MainActivity.this, "您选择的时间是:" + year + "年" + month + "月" + dayOfMonth + "日", Toast.LENGTH_SHORT).show();
            }
        });
    }

    private void initView() {
        chronometer = (Chronometer) findViewById(R.id.chronometer);
        btn_start = (Button) findViewById(R.id.btnStart);
        btn_stop = (Button) findViewById(R.id.btnStop);
        btn_base = (Button) findViewById(R.id.btnReset);
        btn_format = (Button) findViewById(R.id.btn_format);

        chronometer.setOnChronometerTickListener(this);
        btn_start.setOnClickListener(this);
        btn_stop.setOnClickListener(this);
        btn_base.setOnClickListener(this);
        btn_format.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btnStart:
                chronometer.start();                                    // 开始计时
                break;
            case R.id.btnStop:
                chronometer.stop();                                     // 停止计时
                break;
            case R.id.btnReset:
                chronometer.setBase(SystemClock.elapsedRealtime());     // 复位
                break;
            case R.id.btn_format:
                chronometer.setFormat("Time:%s");                   // 更改时间显示格式
                break;
        }
    }

    @Override
    public void onChronometerTick(Chronometer chronometer) {
        String time = chronometer.getText().toString();
        if (time.equals("00:00"))
            Toast.makeText(MainActivity.this, "时间到了~", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
        Toast.makeText(MainActivity.this, "您选择的日期是:" + year + "年" + (monthOfYear+1) + "月" + dayOfMonth + "日!", Toast.LENGTH_SHORT).show();
    }
}

源程序下载

参考:

 

posted on 2016-05-17 01:51  新思想  阅读(332)  评论(0)    收藏  举报

导航