activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="104dp"
android:layout_marginTop="64dp"
android:text="첫 번째 시크바"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<SeekBar
android:id="@+id/seekBar"
android:layout_width="175dp"
android:layout_height="30dp"
android:layout_marginStart="104dp"
android:layout_marginTop="140dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="104dp"
android:layout_marginTop="196dp"
android:text="두 번째 시크바"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<SeekBar
android:id="@+id/seekBar2"
android:layout_width="175dp"
android:layout_height="30dp"
android:layout_marginStart="104dp"
android:layout_marginTop="56dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="150dp"
android:layout_marginTop="71dp"
android:text="스레드 진행 시작"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/seekBar2" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package com.example.myapplication;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
ProgressBar myseekbar1, myseekbar2;
Button btn;
TextView tv1, tv2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myseekbar1 = (ProgressBar) findViewById(R.id.seekBar);
myseekbar2 = (ProgressBar) findViewById(R.id.seekBar2);
btn = (Button) findViewById(R.id.button);
tv1 = (TextView) findViewById(R.id.textView);
tv2 = (TextView) findViewById(R.id.textView2);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new Thread() {
public void run() {
for (int i = myseekbar1.getProgress(); i < 100; i += 2) {
runOnUiThread(new Runnable() {
@Override
public void run() {
myseekbar1.setProgress(myseekbar1.getProgress() + 2);
tv1.setText("1번 시크바 진행률: " + myseekbar1.getProgress() + "%");
}
});
SystemClock.sleep(100);
}
}
}.start();
new Thread() {
public void run() {
for (int i = myseekbar2.getProgress(); i < 100; i++) {
runOnUiThread(new Runnable() {
@Override
public void run() {
myseekbar2.setProgress(myseekbar2.getProgress() + 1);
tv2.setText("2번 시크바 진행률: " + myseekbar2.getProgress() + "%");
}
});
SystemClock.sleep(100);
}
}
}.start();
}
});
}
}
'안드로이드 Android' 카테고리의 다른 글
[모바일프로그래밍] 10-3 Intent service class (0) | 2020.11.08 |
---|---|
[모바일프로그래밍] 10-2 서비스 (0) | 2020.11.08 |
[모바일프로그래밍] 9-5 카메라 영상 캡처 (0) | 2020.11.08 |
[모바일프로그래밍] 9-4 오디오 녹음 (0) | 2020.11.08 |
[모바일프로그래밍] 9-3 MediaPlayer 사용하는 방법 (0) | 2020.11.08 |