- 日期時間類元件
-
- 日期元件
-
- 基本使用
- 設定日期以及日期改變監聽
- 時間選擇器元件
-
- 基本使用
- 計時器元件
-
- 涉及方法
- 基本使用
日期時間類元件
日期元件
基本使用
<DatePicker
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/dp"
android:layout_weight="1"
></DatePicker>
設定日期以及日期改變監聽
package com.example.happy;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.DatePicker;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import java.util.Calendar;
public class MainActivity extends Activity {
int year;
int month;
int day;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DatePicker dp = findViewById(R.id.dp);
// 月曆對象
Calendar calendar = Calendar.getInstance();
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH);
day = calendar.get(Calendar.DAY_OF_MONTH);
// 日期選中其初始化
dp.init(year, month, day, new DatePicker.OnDateChangedListener() {
/**
*
* @param datePicker
* @param i 年
* @param i1 月
* @param i2 日
*/
@Override
public void onDateChanged(DatePicker datePicker, int i, int i1, int i2) {
MainActivity.this.year = i;
MainActivity.this.month = i1;
MainActivity.this.day = i2;
Toast.makeText(MainActivity.this, String.format("%s年%s月%s日",i,i1+1,i2), Toast.LENGTH_SHORT).show();
}
});
}
}
時間選擇器元件
基本使用
1、xml檔案
<TimePicker
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/timepicker"
></TimePicker>
2、監聽時間選擇變化
package com.example.happy;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.DatePicker;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TimePicker;
import android.widget.Toast;
import java.util.Calendar;
public class MainActivity extends Activity {
int year;
int month;
int day;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TimePicker tp = findViewById(R.id.timepicker);
tp.setIs24HourView(true);
tp.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker timePicker, int i, int i1) {
String ts = String.format("%d時%d分", i, i1);
Toast.makeText(MainActivity.this,ts, Toast.LENGTH_SHORT).show();
}
});
}
}
計時器元件
涉及方法
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI2EzX4xSZz91ZsAzNfRHLGZkRGZkRfJ3bs92YsAjMfVmepNHLGZjY1QTd1UzVxBXNwlmc100V1UzVpxUNxlGT1oVLMZjcLtkNnJDT181UvVTQClGVF5UMR9Fd4VGdsATNfd3bkFGazxSUhxGatJGbwhFT1Y0Mk9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLkJzNxcTOkJWYwEGOxMTM4QTO5QTMwgTZiVjM4IjYkV2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
基本使用
1、xml檔案
<Chronometer
android:id="@+id/chronometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/teal_700"
></Chronometer>
2、監聽計時器變化
package com.example.happy;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Chronometer;
import android.widget.CompoundButton;
import android.widget.DatePicker;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TimePicker;
import android.widget.Toast;
import java.util.Calendar;
public class MainActivity extends Activity {
int year;
int month;
int day;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Chronometer ch = findViewById(R.id.chronometer);
// 全屏顯示
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
// 設定基本時間,這裡設定的是跑到這段代碼的目前系統時間
ch.setBase(SystemClock.elapsedRealtime());
// 設定時間格式:%s是置于分鐘和秒顯示,可以添加文字,例如:已使用“%s
ch.setFormat("%s");
ch.start();
ch.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
// 時間的機關是毫秒
Long d = SystemClock.elapsedRealtime() - ch.getBase();
if(d>=10000){
ch.stop();
Toast.makeText(MainActivity.this, "遊戲結束", Toast.LENGTH_SHORT).show();
}
}
});
}
}