Android-시간 날짜 관련 구성 요소

원본 다운로드 주소:
-- CSDN :  http://download.csdn.net/detail/han1202012/6856737 
-- GitHub : https://github.com/han1202012/Timer_Date_Test.git
.
저자. :만경 절 진 
전재 출처 를 밝 혀 주 십시오  : http://blog.csdn.net/shulianghan/article/details/18314667
.
시계 구성 요소
1.AnalogClock 구성 요소
외관:이 구성 요 소 는 시계 판 을 표시 합 니 다.분침 과 초침 이 돌아 갑 니 다.
속성 소개:이 구성 요 소 는 디스크 그림 을 설정 할 수 있 습 니 다.시계 바늘 로 그림 을 표시 합 니 다.
--디스크 설정:android:dial,R.drawable 자원 그림 설정;
--설정 시계:android:handhour,R.drawable 자원 그림 설정;
--분침 설정:android:handminute,R.drawable 자원 그림 설정;
2.DigitalClock 구성 요소
외관:이 구성 요 소 는 TextView 구성 요소 로 현재 시간의 텍스트 를 표시 합 니 다.
속성:이 구성 요 소 는 android:text 속성 을 설정 할 수 없습니다.설정 해도 유효 하지 않 습 니 다.
3.소스 코드 예시
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <!--     ,            -->
    <DigitalClock 
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:textSize="20pt"
        android:textColor="#DF0101"/>
    
    <TextView 
        android:layout_height="20dp"
        android:layout_width="fill_parent"
        android:background="#01DF01"/>
    
    <!--     ,      ,   ,       -->
    <AnalogClock 
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:dial="@drawable/clock"
        />

</LinearLayout>

효과 그림: 
Android - 时间 日期相关组件_第1张图片
타이머 크 로 노 미터
형식 속성:android:format,타이머 의 타이머 형식 지정;
상용 방법:타이머 의 방법 은 중점 입 니 다.타이머 시작,정지 등 동작 을 제어 할 수 있 습 니 다.
--설정 시간:setBase(long),시작 시간 설정;
--설정 형식:setFormat(string),시간 표시 형식 설정;
--시간 잽 니 다:start(),시간 잽 니 다.
--시간 정지:stop(),시간 정지 방법;
--감청 설정:setOnChronometerTicklListener(),감청 기 를 설정 하고 타이머 가 시간 이 바 뀔 때 이 방법 을 되 돌려 줍 니 다.
실례: 
XML 소스 코드: 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <Chronometer 
        android:id="@+id/chronometer"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:textSize="20pt"
        android:textColor="#DF0101"/>
    
    <!-- checked true   ,       ,        -->
    <ToggleButton 
        android:id="@+id/toggle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="15pt"
        android:textOn="    "
        android:textOff="    "
        android:checked="true"/>

</LinearLayout>

Activity 코드: 
package shuliang.han.time_date_test;

import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.widget.Chronometer;
import android.widget.Chronometer.OnChronometerTickListener;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Toast;
import android.widget.ToggleButton;

public class ChronometerActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.chronometer);
		
		final Chronometer chronometer = (Chronometer) findViewById(R.id.chronometer);
		ToggleButton toggleButton = (ToggleButton) findViewById(R.id.toggle);
		
		toggleButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				if(isChecked){//             , checked false -> true     ,        
					chronometer.stop();
				}else{//          , checked true -> false     ,        
					chronometer.start();
					chronometer.setBase(SystemClock.elapsedRealtime());
				}
			}
		});
		
		//       ,    5      Toast  
		chronometer.setOnChronometerTickListener(new OnChronometerTickListener() {
			@Override
			public void onChronometerTick(Chronometer chronometer) {
				if(SystemClock.elapsedRealtime() - chronometer.getBase() > 5 * 1000)
					Toast.makeText(getApplicationContext(), "5  ", Toast.LENGTH_LONG).show();
			}
		});
	}
	
}

효과 그림: 
Android - 时间 日期相关组件_第2张图片
.
저자. :만경 절 진 
전재 출처 를 밝 혀 주 십시오 : http://blog.csdn.net/shulianghan/article/details/18314667
.
3.달력 보기 CalendarView
달력 보기:달력 보 기 는 7*N 의 사각형 을 표시 합 니 다.즉,달력,N 은 설정 할 수 있 습 니 다.스크롤 보 기 를 통 해 다른 달의 날 짜 를 선택 할 수 있 고 날 짜 를 설정 하여 모니터 를 변경 할 수 있 습 니 다.달력 을 감청 하여 이 벤트 를 선택 할 수 있 습 니 다.
달력 보기 의 XML 속성: 
--스타일 설정:android:dateTextAppearance,날짜 텍스트 디 스 플레이 스타일 설정;
--설정 첫날:android:firstDay of Week,설정 요일 은 매주 첫날 이 고 기본 값 은 월요일 입 니 다.
--선택 색상:android:focused MonthDateColor,선택 날짜 가 있 는 달의 날짜 색상 을 설정 합 니 다.
--최대 날짜:android:maxDate,지원 하 는 최대 날 짜 를 설정 하고 mm/dd/yyy 형식 으로 지정 합 니 다.
--최소 날짜:android:minDate,지원 하 는 최소 날 짜 를 설정 하고 mm/dd/yyy 형식 으로 지정 합 니 다.
--세로 줄 선택:android:selected DateVerticalBar,선 택 된 날짜 양쪽 의 세로 줄 Drawable,즉 R.drawable.int 자원 을 설정 합 니 다.
--주간 색상 선택:android:selected WeekBackground,선 택 된 날짜 가 있 는 주간 배경 색상 설정;
--주 표시:android:showWeekNumber,주 표시 여 부 를 설정 합 니 다.
--설정 주:android:shownWeekCount,이 달력 구성 요소 가 모두 몇 주 동안 표 시 될 지 설정 합 니 다.
--선택 되 지 않 은 색상:android:unfocused MonthDateColor,선택 되 지 않 은 달의 날짜 색상 을 설정 합 니 다.
--요일 스타일:android:weekDay TextAppearance,요일 텍스트 스타일 설정;
--주 번호 색상:android:weekNumberColor,주 번호 색상 설정;
--주간 분할 색상:android:weeksSeparatorLine 색상,주간 구분 선 색상 설정;
실례: 
XML 소스 코드: 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <TextView 
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:text="    "/>
    
    <!-- 
    	android:firstDayOfWeek   ,            
    	android:shownWeekCount   ,            
    	android:selectedWeekBackgroundColor   ,                  
    	android:focusedMonthDateColor   ,              ,             2      
    	android:weekSeparatorLineColor   ,             
    	android:unfocusedMonthDateColor   ,              
     -->
    <CalendarView	
		android:layout_width="match_parent"
		android:layout_height="match_parent"
		android:firstDayOfWeek="7"
		android:shownWeekCount="4"
		android:selectedWeekBackgroundColor="#aff"
		android:focusedMonthDateColor="#f00"
		android:weekSeparatorLineColor="#ff0"
		android:unfocusedMonthDateColor="#f9f"
		android:id="@+id/calendarView" />
    

</LinearLayout>

Activity 소스 코드: 
package shuliang.han.time_date_test;

import android.app.Activity;
import android.os.Bundle;
import android.widget.CalendarView;
import android.widget.CalendarView.OnDateChangeListener;
import android.widget.Toast;

public class CalendarActivity extends Activity {

	private CalendarView calendarView;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.calendar);
		
		calendarView = (CalendarView) findViewById(R.id.calendarView);
		//         ,              
		calendarView.setOnDateChangeListener(new OnDateChangeListener() {
			@Override
			public void onSelectedDayChange(CalendarView view, int year, int month,
					int dayOfMonth) {
				Toast.makeText(getApplicationContext(), "       : " + year +"  "
						+ month + "   " + dayOfMonth + " ", Toast.LENGTH_LONG).show();
			}
		});
	}
}

효과 그림: 
Android - 时间 日期相关组件_第3张图片
시간 선택 기
TimePicker 는 사용자 가 시간 을 선택 할 수 있 고 구성 요소 가 아름 다 우 며 시간 을 설정 하여 모니터 를 변경 할 수 있 습 니 다.시간 이 바 뀌 면 리 셋 방법 이 실 행 됩 니 다.
인 스 턴 스 원본: 
XML 파일: 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <TextView 
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="    "/>
    
    <TimePicker 
        android:id="@+id/time_picker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"/>

</LinearLayout>

Activity 소스 코드: 
package shuliang.han.time_date_test;

import java.util.Calendar;

import android.app.Activity;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
import android.widget.Toast;

public class TimePickerActivity extends Activity {

	private TimePicker timePicker;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.time_picker);
		
		timePicker = (TimePicker) findViewById(R.id.time_picker);
		
		//      
		getCurrentDateTime();
		
		timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
			@Override
			public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
				Toast.makeText(getApplicationContext(), "     : " + hourOfDay + " " + minute + " ", Toast.LENGTH_LONG).show();
			}
		});
	}
	
	/*
	 *           ,       Toast  
	 */
	private void getCurrentDateTime() {
		//1.       
		Calendar calendar = Calendar.getInstance();
		//2.          : calendar.get(Calendar.YEAR)
		Toast.makeText(getApplicationContext(), "     : " + 
			calendar.get(Calendar.YEAR) + " " + 
			calendar.get(Calendar.MONTH) + " " + 
			calendar.get(Calendar.DATE) + " " + 
			calendar.get(Calendar.HOUR) + " " + 
			calendar.get(Calendar.MINUTE) + " " + 
			calendar.get(Calendar.SECOND) + " "
				, Toast.LENGTH_LONG).show();
	}
}

효과 그림: 
Android - 时间 日期相关组件_第4张图片
5.날짜 선택 기 DatePicker
날짜 선택 기 상용 속성: 
--달력 표시:android:calendarViewShown,CalendarView 달력 구성 요 소 를 표시 할 지 여부;
--마지막 선택:android:endYear,이 선택 기 는 마지막 해 를 선택 할 수 있 습 니까?
--최대 날짜:android:maxDate,날짜 선택 기의 최대 날짜 설정,형식 mm/dd/yyy;
--최소 날짜:android:minDate,날짜 선택 기의 최소 날짜 설정,형식 mm/dd/yyy;
--구성 요소 선택:android:spinnerShown,Spinner 구성 요 소 를 표시 할 지 여부;
--첫해 선택:android:startYear,첫해 선택 허용 여부;
실례:
XML 소스 코드: 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <!-- 
    	android:startYear    :             
    	android:endYear    :             
    	android:calendarViewShown    :       CalendarView  
    	android:spinnersShown    :       
     -->
    <DatePicker 
        android:id="@+id/date_picker"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_gravity="center_horizontal"
        android:startYear="2000"
        android:endYear="2020"
        android:calendarViewShown="true"
        android:spinnersShown="true"/>

</LinearLayout>

효과 그림:
  Android - 时间 日期相关组件_第5张图片
.
저자. :만경 절 진 
전재 출처 를 밝 혀 주 십시오  : http://blog.csdn.net/shulianghan/article/details/18314667
.
원본 다운로드 주소 :
-- CSDN :  http://download.csdn.net/detail/han1202012/6856737 
-- GitHub : https://github.com/han1202012/Timer_Date_Test.git

좋은 웹페이지 즐겨찾기