همیار اندروید
همیار اندروید
همیار اندروید
همیار اندروید
نه
بله
منوی وبسایت
جستجوی پیشرفته صفحه اصلی اپلیکیشن های ما
حساب کاربری
منوی وبسایت
حساب کاربری

همیار اندروید

مرجــع تخصـصــی توسـعــه انــدرویــد

منوی وبسایت
جستجوی پیشرفته اپلیکیشن های ما
حساب کاربری
صفحه اصلی
آموزش
آموزش کار با انتخابگر تاری ...

آموزش کار با انتخابگر تاریخ Date Picker در اندروید استودیو

آموزش کار با انتخابگر تاریخ Date Picker در اندروید استودیو
مشخصات این آموزش
موضوعات مرتبط
DatePicker
زبان برنامه‌نویسی
Java  ,  XML
نوع قسمت‌ها
مبحث تک قسمتی
محتوای ارائه شده
متن
مهارت های مورد نیاز
نامشخص
وضعیت انتشار
به پایان رسیده
سطح آموزش
مبتدی
انتشار
1399-02-05 , 23:10
یادگیری این آموزش

سلام دوستان ببینید در بعضی مواقع ما میخایم که یک تاریخ را بنا به دلایلی انتخاب کنیم

خب اینکه چجوری یک تاریخ رو بتونیم انتخاب و ثبت کنیم اندروید یک قابلیتی برای ما

ایجاد کرده به نام Date Picker که بتونیم این کار را انجام بدیم

از  Android Date Time Picker به صورت گسترده و زیاد در برنامه نویسی اندروید استفاده میشه

در این آموزش میخام که استفاده از یک Date Picker  و یک Timer Picker  را در برنامه نویسی بهتون آموزش بدم

که ازاین مؤلفه ها برای انتخاب تاریخ و زمان در یک رابط کاربری سفارشی استفاده می شود

برای دستیابی به این هدف از کلاسهای DatePickerDialog و TimePickerDialog با کلاس calender در

کد برنامه اندرویدی خود استفاده خواهیم کرد

و اما چرا ما از dialog میخایم استفاده کنیم به این دلیل که میخایم فضای کمتری در صفحه

اشغال کنیم وگرنه می توانستیم به صورت جدا از این کلاس ها استفاده کنیم

کلاس های DatePickerDialog و TimePickerDialog به ترتیب متد های

برگشت فراخوانی ()onDateSetListener  و() onTimeSetListener را  دارند

این متدهای  برگشتی زمانی که  کاربرتاریخ و زمان را پر میکنند به ترتیب فراخوانی می شوند

 

علاوه بر دو متد ذکر شده در بالا برای DatePickerDialog چند متد دیگر هم در پایین برای شما آوردم

()getDayOfMonth

این متد روز منتخب ماه را دریافت می کند

()getMonth

 ماه منتخب را دریافت می کند

()getYear

 سال منتخب را دریافت می کند

(setMaxDate(long maxDate

این متد حداکثر تاریخ پشتیبانی شده توسط این DatePicker را در میلی ثانیه

از اول ژانویه 1970 ساعت 00:00:00 در منطقه زمانی ()getDefault تعیین می کند

(setMinDate(long minDate

این روش حداکثر تاریخ پشتیبانی شده توسط این NumberPicker را در میلی ثانیه

از اول ژانویه 1970 ساعت 00:00:00 در منطقه زمانی getDefault () تعیین می کند

(setSpinnersShown(boolean shown

این روش تعیین می کند که آیا اسپینرها نشان داده شده اند یا خیر

(updateDate(int year, int month, int dayOfMonth

این روش تاریخ فعلی را به روز می کند

()getCalendarView

این متد View تقویم را برمی گرداند

()getFirstDayOfWeek

 روز اول هفته برمی گردد

 

 

مثال

activity_main.xml

<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <EditText
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:id="@+id/in_date"
        android:layout_marginTop="82dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="SELECT DATE"
        android:id="@+id/btn_date"
        android:layout_alignBottom="@+id/in_date"
        android:layout_toRightOf="@+id/in_date"
        android:layout_toEndOf="@+id/in_date" />

    <EditText
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:id="@+id/in_time"
        android:layout_below="@+id/in_date"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="SELECT TIME"
        android:id="@+id/btn_time"
        android:layout_below="@+id/btn_date"
        android:layout_alignLeft="@+id/btn_date"
        android:layout_alignStart="@+id/btn_date" />

</RelativeLayout>

MainActivity.java

package com.hamyarandroid.myapplication;

import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity implements
        View.OnClickListener {

    Button btnDatePicker, btnTimePicker;
    EditText txtDate, txtTime;
    private int mYear, mMonth, mDay, mHour, mMinute;

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

        btnDatePicker=(Button)findViewById(R.id.btn_date);
        btnTimePicker=(Button)findViewById(R.id.btn_time);
        txtDate=(EditText)findViewById(R.id.in_date);
        txtTime=(EditText)findViewById(R.id.in_time);

        btnDatePicker.setOnClickListener(this);
        btnTimePicker.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {

        if (v == btnDatePicker) {

            // Get Current Date
            final Calendar c = Calendar.getInstance();
            mYear = c.get(Calendar.YEAR);
            mMonth = c.get(Calendar.MONTH);
            mDay = c.get(Calendar.DAY_OF_MONTH);


            DatePickerDialog datePickerDialog = new DatePickerDialog(this,
                    new DatePickerDialog.OnDateSetListener() {

                        @Override
                        public void onDateSet(DatePicker view, int year,
                                              int monthOfYear, int dayOfMonth) {

                            txtDate.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year);

                        }
                    }, mYear, mMonth, mDay);
            datePickerDialog.show();
        }
        if (v == btnTimePicker) {

            // Get Current Time
            final Calendar c = Calendar.getInstance();
            mHour = c.get(Calendar.HOUR_OF_DAY);
            mMinute = c.get(Calendar.MINUTE);

            // Launch Time Picker Dialog
            TimePickerDialog timePickerDialog = new TimePickerDialog(this,
                    new TimePickerDialog.OnTimeSetListener() {

                        @Override
                        public void onTimeSet(TimePicker view, int hourOfDay,
                                              int minute) {

                            txtTime.setText(hourOfDay + ":" + minute);
                        }
                    }, mHour, mMinute, false);
            timePickerDialog.show();
        }
    }
}

 

HRoid.ir/tutorial157
لینک کوتاه این آموزش برای انتشار در شبکه های اجتماعی

نظرات این آموزش
ارسال نظر جدید
هنوز نظری برای این آموزش ثبت نشده است
کپی برداری از محتوا و دیگر منابع اختصاصی به هر نحو غیر مجاز است. حتی با ذکر منبع. در صورت تخلف پیگرد قانونی به همراه خواهد داشت.
Copyright © 2021 , www.HamyarAndroid.com , AboutUs , TeamUs , ContactUs , TermsUs , Sitemap
خلـــق هـمیـار انـدرویــد با
logo-samandehi