Android のカレンダー/時間/タイマーのシンプルなコントロールの使用

Android のコントロールに関して言えば、Xiaobai が考えているものと比較すると、ほとんどが textview、imageview、edittext、button、checkbox などの一般的に使用されるコントロールであり、表示する必要があるいくつかの特別な機能については、うまく表現するだけでは十分ではありません。 . 今日、いくつか紹介するのは比較的良いことです。

今日は簡単に 3 つ紹介します。1: 日付ピッカー カレンダー 2: タイムピッカー クロック 3: クロノメーター タイマー

カレンダーは、特定の年、月、日を表示するために、対応する日のトーストをクリックするだけで実現し、時計は、対応する時間と分を表示する回転時間トーストを実現し、タイマーは、1 分間のタイミングを実現し、1 分後にすぐに停止します。そして数はもう変わりません!

以下にコードを直接投稿します (参照しやすいように 3 つすべてをクラス ファイルに記述しました。xml レイアウトはここには示していません)。相対的なコメントもコード セグメントで行われます. ご不明な点がございましたら、コメント エリアにメッセージを残すか、私にプライベート メッセージを残してください. 内容に不備や誤りがある場合は、修正してください!

public class MainActivity extends AppCompatActivity {
private DatePicker datePicker;
private TimePicker timePicker;
private Chronometer chronometer;
private int year,mounth,day;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        datePicker=findViewById(R.id.datapicker);
        timePicker=findViewById(R.id.timepicker);
        chronometer=findViewById(R.id.ch);
        Calendar calendar=Calendar.getInstance();
        year=calendar.get(Calendar.YEAR);
        mounth=calendar.get(Calendar.MONTH);
        day=calendar.get(calendar.DAY_OF_MONTH);
        datePicker.init(year, mounth, day, new DatePicker.OnDateChangedListener() {
            @Override
            public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                MainActivity.this.year=year;
                MainActivity.this.mounth=monthOfYear;
                MainActivity.this.day=dayOfMonth;
                String str1=year+"年"+(mounth+1)+"月"+day+"日";
                Toast.makeText(MainActivity.this,str1,Toast.LENGTH_SHORT).show();
            }
        });
        timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
            @Override
            public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
             timePicker.setIs24HourView(true);//24小时进制,不添加该行代码则时间默认为12小时,前方会有上午/下午
                String str2 =hourOfDay+"时"+minute+"分";
                Toast.makeText(MainActivity.this,str2,Toast.LENGTH_SHORT).show();
            }
        });
       /* setBase()>>>>>设置计时器的起始时间
        setFormat()>>>>>设置显示时间格式
        start()>>>>>指定开始时间
        stop()>>>>>指定停止时间
        setOnChronometerTickListener()计时器监听事件>>>>>*/
        chronometer.setBase(SystemClock.elapsedRealtime());
        chronometer.setFormat("%s");
        chronometer.start();
        chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
            @Override
            public void onChronometerTick(Chronometer chronometer) {
                if (SystemClock.elapsedRealtime()-chronometer.getBase()>=60000){//真实的时间减去开始的时间为60000毫秒即60秒时
                    chronometer.stop();
                }
            }
        });
    }
}

 

Supongo que te gusta

Origin blog.csdn.net/Abtxr/article/details/125831517
Recomendado
Clasificación