ایجاد Time Picker در اندروید

جمعه 29 آبان 1394

در این مقاله می خواهیم در مورد Time picker ها صحبت نماییم، و کاربرد آن را توضیح دهیم، و از یک نمونه ساده و کاربردی استفاده نماییم.

ایجاد Time Picker در اندروید

در این مقاله با استفاده از یک Time picker یک ساعت را در یک Textview با زدن یک دکمه نمایش می دهد،

به عنوان مثال ساعت هشدار که در بعضی از گوشی ها قرار دارد به صورت زیر خواهد بود:

در این مقاله ما از یک Time Picker و یک textview و یک دکمه استفاده کرده ایم، که با انتخاب کردن Time picker و زدن یک دکمه داخل textview ساعت آن قرار می گیرد.

getCurrentHour(): ساعت فعلی را بر می گرداند.

getCurrentMinute(): دقیقه فعلی را بر می گرداند

مرحله اول: ایجاد یک پروژه ی جدید در IDE ، اگر تا به حال یک پروژه ی جدید ایجاد نکرده اید می توانید به مقاله ساخت اولین اپلیکیشن در اندروید رجوع نمایید.

قدم دوم نوشتن Xml است که از یک textview,button,time picker استفاده می کنید به صورت زیر:

داخل activity قطعه کد زیر را بنویسید:

<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"
                tools:context=".MainActivity"
                android:background="#f1234567">
    <TimePicker
            android:layout_height="wrap_content"
            android:layout_marginTop="86dp"
            android:layout_centerHorizontal="true"
            android:layout_alignParentTop="true"
            android:layout_width="wrap_content"
            android:id="@+id/timePicker">
    </TimePicker>
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="مرجع تخصصی برنامه نویسان"
            android:textStyle="bold"
            android:textSize="30dp"
            android:id="@+id/textView"
            android:layout_marginLeft="20dp"
            android:layout_alignParentTop="true" android:layout_alignParentStart="true"/>
    <Button
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:text="TimePicker"
            android:textColor="#ffffff"
            android:textStyle="bold"
            android:id="@+id/button"
            android:background="#000000"
            android:layout_marginTop="300dp"
            android:layout_centerHorizontal="true"
            />
</RelativeLayout>

حالا باید داخل کلاس جاوا قطعه کد زیر را بنویسید:

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;
public class MyActivity extends Activity {
    TextView textView;
    Button button;
    TimePicker timePicker;
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        textView=(TextView)findViewById(R.id.textView);
        button=(Button)findViewById(R.id.button);
        timePicker=(TimePicker)findViewById(R.id.timePicker);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                textView.setText(getCurrentTime());
            }
        });
    }
    public String getCurrentTime()
    {
        String currentTime= (timePicker.getCurrentHour())+":"+timePicker.getCurrentMinute();
        return currentTime;
    }
}

در کلاس بالا باید toolbox هایی که در صفحه قرار دادیم را معرفی نماییم ، و برای هر دکمه یک رویداد قرار دهیم، که زمانی که دکمه را می زنیم یک متن را داخل tetxview نمایش داده شود، حالا یک متد برای نمایش ساعت و دقیقه استفاده می کنیم و از دو رویداد getCurrentHour() و getCurrentMinute() استفاده می کنیم، و داخل textview خود آن متد را صدا می زنیم.

داخل androidmanifest هم از قطعه کد زیر استفاده می نماییم:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.barnamenevisan.TimePicker"
          android:versionCode="1"
          android:versionName="1.0">
    <uses-sdk android:minSdkVersion="7"/>
    <application android:label="@string/app_name" android:icon="@drawable/bar">
        <activity android:name="MyActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest>

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

زمانی که با آیکون مثبت و منفی را بزنید می توانید هر ساعت و دقیقه ای را انتخاب نمایید و با زدن دکمه ی مورد نظر ساعت و دقیقه ی مورد نظر نمایش داده می شود.هم چنین کنار خود ساعت هم قبل از ظهر و بعد از ظهر بودن زمان هم مشخص خواهد شد.

 

فایل های ضمیمه

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

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

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

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