Time Picker با استفاده از متریال دیزاین در اندروید
سه شنبه 26 اردیبهشت 1396در این مقاله قصد داریم یک ساعت ایجاد نماییم، به این صورت که زمانی که شما روی دکمه می زنید زمان به ساعت را به شما نشان می دهد شما آن را انتخاب می نمایید و بعد از آن باید دقیقه را امتحان نمایید و با زدن آن دقیقه هم انتخاب می شود و با یک پیغام toast به شما نمایش داده می شود.
ابتدا شما در قسمت 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>
خروجی کار به صورت زیر خواهد بود:
- Android
- 2k بازدید
- 3 تشکر