Android Application
Kotlin 스레드(Thread) : SeekBar를 이용한 Thread
작성자 임베디드코리아
작성일 23-10-23 23:28
조회1,806회
댓글0건
Kotlin 스레드(Thread) : SeekBar를 이용한 Thread
-------------------------------------------------------------------------------------
activity_main.xml
-------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="10dp"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="1번 진행률 :"
android:textAppearance="?android:attr/textAppearanceLarge" />
<SeekBar
android:id="@+id/pb1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="10" />
<TextView
android:id="@+id/tv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="2번 진행률 :"
android:textAppearance="?android:attr/textAppearanceLarge" />
<SeekBar
android:id="@+id/pb2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="30" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="스레드 시작" />
</LinearLayout>
------------------------------------------------------------------------------------
MainActivity.kt
------------------------------------------------------------------------------------
class MainActivity : AppCompatActivity() {
lateinit var pb1: SeekBar
lateinit var pb2: SeekBar
lateinit var btn: Button
lateinit var tv1: TextView
lateinit var tv2: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
pb1 = findViewById(R.id.pb1)
pb2 = findViewById(R.id.pb2)
btn = findViewById(R.id.button1)
tv1 = findViewById(R.id.tv1)
tv2 = findViewById(R.id.tv2)
btn.setOnClickListener {
object : Thread() {
override fun run() {
for(i in pb1.progress .. 99 ) {
pb1.progress = pb1.progress + 2
tv1.text= "1번 진행률 : " + pb1.progress.toString() + "%"
SystemClock.sleep(200)
}
}
}.start()
object : Thread() {
override fun run() {
for (i in pb2.progress..99) {
pb2.progress = pb2.progress + 1
tv2.text= "2번 진행률 : " + pb2.progress.toString() + "%"
SystemClock.sleep(200)
}
}
}.start()
}
}
}
------------------------------------------------------------------------------------
themes.xml
------------------------------------------------------------------------------------
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Base.Theme.ThreadSeekBar" parent="Theme.AppCompat.Light">
<item name="colorPrimary">#00BCD4</item>
<item name="colorPrimaryDark">#004289</item>
</style>
<style name="Theme.ThreadSeekBar" parent="Base.Theme.ThreadSeekBar" />
</resources>
158-840 서울시 양천구 남부순환로 571(신월동, 영남타운 307호) l 대표: 박길성 ㅣ Tel:02-2695-1114 ㅣ Fax:02-2695-1113
Copyright © 2015 Embedded Korea. All Rights Reserved.