آموزش ChronoMeter در کوتلین
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش ChronoMeter در کوتلین می پردازیم از ChronoMeter به منظور نمایش یک تایمر (Timer) با مقدار افزایشی یا کاهشی استفاده می شود و می تواند از یک شماره مبدا شروع شده و شروع به انجام عملیات کند در ادامه با ما همراه باشید تا نحوه پیاده سازی ChronoMeter را یاد گیرید.
برخی از Attribute های ChronoMeter را در ادامه باهم بررسی می کنیم.
android:countDown : تعیین می کند timer بالا رود یا پایین آید (افزایشی / کاهشی)
android:format : به منظور تعیین نحوه نمایش استفاده می شود (مثلا همراه با عدد یک متنی نیز نمایش داده شود)
android:gravity : تعیین محل قرار گیری view مورد نظر.
android:id : تعیین یک آیدی منحصر به فرد برای view.
android:elevation : تعیین یک shadow برای view مورد نظر.
ابتدا وارد strings.xml در مسیر res/values شده و رشته های زیر را تعریف کنید.
1 2 3 4 5 6 7 | <resources> <string name="app_name">Chronometer - Programchi</string> <string name="stop">Stop</string> <string name="start">Start</string> <string name="playing">Playing...</string> <string name="stopped">Stopped...</string> </resources> |
وارد یک layout شده در اینجا ما از activity_main.xml استفاده می کنیم و کدهای زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="20dp"> <Chronometer android:id="@+id/chronometer" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp"/> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="20dp" android:paddingRight="20dp" android:text="@string/start"/> </LinearLayout> |
در بالا یک View از Chronometer و Button قرار دادیم.
در کلاس کوتلین که در اینجا نام آن MainActivity.kt است و کدهای زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | package ir.programchi.chronometer import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.view.View import android.widget.Button import android.widget.Chronometer import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val chronometer = findViewById<Chronometer>(R.id.chronometer) val button = findViewById<Button>(R.id.button) button?.setOnClickListener(object : View.OnClickListener { internal var isPlaying = false override fun onClick(v: View) { if (!isPlaying) { chronometer.start() isPlaying = true } else { chronometer.stop() isPlaying = false } button.setText(if (isPlaying) R.string.start else R.string.stop) Toast.makeText(this@MainActivity, getString(if (isPlaying) R.string.playing else R.string.stopped), Toast.LENGTH_SHORT).show() } }) } } |
در بالا بعد از اینکه Chronometer را تعریف کردیم آن را برای دکمه یک Listener تعریف کردیم و chornometer را start زدیم و بعد از کلیک دوم آن را stop می کنیم.
این آموزش هم به پایان رسید.
موفق و پیروز باشید.