Razieh Shahraki

آشنایی با Fancy Widgets در اندروید

1 ارسال در این موضوع قرار دارد

در اینجا با یک برنامه ساده برای وارد کردن تاریخ و زمان، اشنا می شویم.

این برنامه دارای دو دکمه است که برای هر کدام دیالوگ های مورد نظر باز می شود.

پروژه جدیدی ایجاد می کنیم (testPick)و دستورات زیر را در فایل xml قرار می دهیم.

[shcode=xml]<?xml version="1.0" encoding="utf-8"?>

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

   

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

    />

   

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="Set the Date"

    />

   

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="Set the Time"

    />

[/shcode]

و دستورات زیر را در فایل java قرار می دهیم.

[shcode=java]package com.example.testpick;

import java.text.DateFormat;

import java.util.Calendar;

import android.app.Activity;

import android.app.DatePickerDialog;

import android.app.DatePickerDialog.OnDateSetListener;

import android.app.TimePickerDialog;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.DatePicker;

import android.widget.TextView;

import android.widget.TimePicker;

public class MainActivity extends Activity {

//از کلاس DateFormatبرای فرمت دهی تاریخ و ساعت (نحوه نمایش آنها) استفاده می کنیم که در اینجا از متد

// getDateTimeInstance() استفاده کردیم که فرمت دهی تاریخ و ساعت را به ما می دهد.

    DateFormat fmtDateAndTime=DateFormat.getDateTimeInstance();

    TextView dateAndTimeLabel;

//Calender همانطور که از نام آن پیداست برای کار با تاریخ می باشد، تاریخهایی که در دیالوگ تنظیم می کنیم در این قرار می غیر مجازد

    Calendar DateAndTime=Calendar.getInstance();

    DatePickerDialog.OnDateSetListener d=new OnDateSetListener() {

//زمانی که کاربر از دیالوگ های باز شده تاریخ را تنظیم می کند این رویداد رخ می دهد

public void onDateSet(DatePicker view, int year, int monthOfYear,

        int dayOfMonth) {

//سال، ماه و روز را که کاربر در DataPickerDialogتنظیم می کند به متغیر DateAndTime که از نوع Calender است داده ایم

    DateAndTime.set(Calendar.YEAR, year);

    DateAndTime.set(Calendar.MONTH, monthOfYear);

    DateAndTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);

    updateLabel();

        }

    };

//زمانی که کاربر از دیالوگ باز شده تاریخ را تنظیم می کند این رویداد رخ می دهد

    TimePickerDialog.OnTimeSetListener t=new TimePickerDialog.OnTimeSetListener()

    {

public void onTimeSet(TimePicker view, int hourOfDay,

        int minute) {

//ساعت و دقیقه که کاربر در TimePickerDialog تنظیم می کند به متغیر DateAndTime که از نوع Calender است داده ایم.

    DateAndTime.set(Calendar.HOUR_OF_DAY, hourOfDay);

    DateAndTime.set(Calendar.MINUTE, minute);

    updateLabel();

        }

    };

@Override

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    Button btn=(Button)findViewById(R.id.dateBtn);

   

    btn.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

    new DatePickerDialog(MainActivity.this,

    d,

    DateAndTime.get(Calendar.YEAR),

    DateAndTime.get(Calendar.MONTH),

    DateAndTime.get(Calendar.DAY_OF_MONTH)).show();

        }

    });

    btn=(Button)findViewById(R.id.timeBtn);

    btn.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

    new TimePickerDialog(MainActivity.this,

    t,

    DateAndTime.get(Calendar.HOUR_OF_DAY),

    DateAndTime.get(Calendar.MINUTE),

    true).show();

        }

    });

    dateAndTimeLabel=(TextView)findViewById(R.id.dateAndTime);

    updateLabel();

    }

//یک پروسیجر تعریف کرده ایم که تاریخ را در textView  با نام dateAndTimeLabel نمایش می دهد.

private void updateLabel() {

dateAndTimeLabel.setText(fmtDateAndTime.format(DateAndTime.getTime()));

}

}[/shcode]

خروجی به صورت زیر است

293x445http://p30droid.com/Uploader/do.php?img=192[/img]289x444http://p30droid.com/Uploader/do.php?img=193[/img]290x443http://p30droid.com/Uploader/do.php?img=194[/img]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری