Time Picker با استفاده از متریال دیزاین در اندروید

سه شنبه 26 اردیبهشت 1396

در این مقاله قصد داریم یک ساعت ایجاد نماییم، به این صورت که زمانی که شما روی دکمه می زنید زمان به ساعت را به شما نشان می دهد شما آن را انتخاب می نمایید و بعد از آن باید دقیقه را امتحان نمایید و با زدن آن دقیقه هم انتخاب می شود و با یک پیغام toast به شما نمایش داده می شود.

Time Picker با استفاده از متریال دیزاین در اندروید

ابتدا شما در قسمت gradle.build باید این قطعه کد را قرار دهید:

compile 'com.android.support:appcompat-v7:24.0.0'

compile 'com.wdullaer:materialdatetimepicker:2.3.0'

قطعه کد به صورت زیر خواهد بود:

کلاس به صورت زیر خواهد بود:

import android.content.DialogInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import java.util.Calendar;
import com.wdullaer.materialdatetimepicker.time.RadialPickerLayout;
import com.wdullaer.materialdatetimepicker.time.TimePickerDialog;

public class MainActivity extends AppCompatActivity implements TimePickerDialog.OnTimeSetListener {

    Button button;
    Calendar calendar ;
    TimePickerDialog timePickerDialog ;
    int CalendarHour, CalendarMinute;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = (Button)findViewById(R.id.button);

        calendar = Calendar.getInstance();

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                CalendarHour = calendar.get(Calendar.HOUR_OF_DAY);

                CalendarMinute = calendar.get(Calendar.MINUTE);

                timePickerDialog = TimePickerDialog.newInstance(MainActivity.this, CalendarHour, CalendarMinute, true);

                timePickerDialog.setThemeDark(false);

                timePickerDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {

                    @Override
                    public void onCancel(DialogInterface dialogInterface) {

                        Toast.makeText(MainActivity.this, "Time Not Selected", Toast.LENGTH_SHORT).show();
                    }
                });

                timePickerDialog.show(getFragmentManager(), "Material Design TimePicker Dialog");


            }
        });
    }

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

        int Hour = 0 ;

        if(hourOfDay > 12)
        {
            switch (hourOfDay)
            {
                case 13 :
                    Hour = 1 ;
                    break;

                case 14 :
                    Hour = 2 ;
                    break;

                case 15 :
                    Hour = 3 ;
                    break;

                case 16 :
                    Hour = 4 ;
                    break;

                case 17 :
                    Hour = 5 ;
                    break;

                case 18 :
                    Hour = 6 ;
                    break;

                case 19 :
                    Hour =  7;
                    break;

                case 20 :
                    Hour = 8 ;
                    break;

                case 21 :
                    Hour = 9 ;
                    break;

                case 22 :
                    Hour = 10 ;
                    break;

                case 23 :
                    Hour = 11 ;
                    break;

                case 24 :
                    Hour = 12 ;
                    break;
            }

        }
        else {

            Hour = hourOfDay ;
        }

        String SelectedTime = "Selected Time is " + Hour + " : " + minute ;


        Toast.makeText(MainActivity.this, SelectedTime, Toast.LENGTH_LONG).show();
    }

}

فایل xml به صورت زیر خواهد بود:

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

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="CLICK HERE TO SHOW TIME PICKER DIALOG WITH MATERIAL DESIGN THEME"
        android:id="@+id/button"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />


</RelativeLayout>

خروجی کار به صورت زیر خواهد بود:

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید