همیار اندروید
همیار اندروید
همیار اندروید
نه
بله
منوی وبسایت
حساب کاربری

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

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

منوی وبسایت
حساب کاربری

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

آموزش کار با انتخابگر تاریخ Date Picker در اندروید استودیو
نوع هزینه
شرکت کنندگان
دریافت دسترسی
مشخصات این آموزش
موضوعات مرتبط
زبان برنامه‌نویسی
Java   ,   XML
نوع قسمت‌ها
محتوای ارائه شده
مهارت های مورد نیاز
وضعیت انتشار
سطح آموزش
آخرین آپدیت
یادگیری این آموزش

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

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

ایجاد کرده به نام 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/t157
لینک کوتاه این آموزش برای انتشار در شبکه های اجتماعی
نظرات این آموزش
ابتدا باید وارد حساب کاربری خود شوید ، تا بتوانید برای این آموزش نظری ارسال کنید
هنوز نظری برای این آموزش ثبت نشده است
کپی برداری از محتوا و دیگر منابع اختصاصی به هر نحو غیر مجاز است. حتی با ذکر منبع. در صورت تخلف پیگرد قانونی به همراه خواهد داشت.
Copyright © 2020 , www.HamyarRoid.com , www.HamyarAndroid.com , Terms , Sitemap
همیار اندروید توسط سون هاست میزبانی می شود و دارای ترافیک نیم بها می باشد
خلـــق هـمیـار انـدرویــد با
logo-samandehi