ایجاد شمارنده معکوس در اندروید
یکشنبه 13 دی 1394در این مقاله قصد داریم یک شمارنده معکوس که با قابلیت شروع شمارش زمان و توقف شمارش زمان با استفاده از دکمه باشد را در اندروید آموزش دهیم.از این نمونه می توان به عنوان شمارنده در اپلیکیشن های خود استفاده نماییم.
در این مقاله ما از یک دکمه استفاده می کنیم که با زدن دکمه شمارش معکوس شروع می شود و بازدن دکمه دوباره شمارش توقف می یابد.
قدم اول ایجاد یک پروژه ی جدید به صورت زیر است
قدم دوم درست کردن فایل activity به صورت زیر است:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#ff998765" > <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:paddingRight="10dip" android:textSize="50dp" /> <Button android:id="@+id/button" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:text="شروع" /> </RelativeLayout>
قدم بعدی درست کردن کلاس جاوا به صورت زیر است:
package com.barnamenevisan.CountDownTimer; import android.app.Activity; import android.os.Bundle; import android.os.CountDownTimer; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MyActivity extends Activity implements View.OnClickListener{ private CountDownTimer countDownTimer; private boolean timerStarted = false; private Button buttonStart; public TextView textView; private final long startTime = 100 * 1000; private final long interval = 1 * 1000; /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); buttonStart = (Button) this.findViewById(R.id.button); buttonStart.setOnClickListener(this); textView = (TextView) this.findViewById(R.id.textView); countDownTimer = new CountDownTimerActivity(startTime, interval); textView.setText(textView.getText() + String.valueOf(startTime/1000)); } @Override public void onClick(View v) { if (!timerStarted) { countDownTimer.start(); timerStarted = true; buttonStart.setText("STOP"); } else { countDownTimer.cancel(); timerStarted = false; buttonStart.setText("RESTART"); } } public class CountDownTimerActivity extends CountDownTimer { public CountDownTimerActivity(long startTime, long interval) { super(startTime, interval); } @Override public void onFinish() { textView.setText("Time's up!"); } @Override public void onTick(long millisUntilFinished) { textView.setText("" + millisUntilFinished/1000); } } }
و در آخر باید کلاس activity مورد نظر را در فایل androidmanifest معرفی نمایید به صورت زیر:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.barnamenevisan.CountDownTimer" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="15"/> <application android:label="@string/app_name" android:icon="@drawable/pic8"> <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>
خروجی به صورت زیر خواهد بود:
این شمارنده زمانی که زمان به پایان برسد را هم نمایش خواهد داد.
- Android
- 4k بازدید
- 1 تشکر