رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

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


پست های پیشنهاد شده

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

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

پروژه جدیدی ایجاد می کنیم (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]

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...