티스토리 뷰

  • 프로그레스바 사용하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1. 여러 가지 화면을 구성하고 그안에 다양한 위젯을 사용하는데 있어서 대화 상자처럼 중간 중간상태 정보를 보여주는 가장 좋은 방법중에 하나임
 
2. 최대 값을 설정하는 max , 현재 값을 설정하는 progress속성이 중요함
 
3. 막대 모양
- 작업의 진행정도를 알려 줄수 있도록 막대 모양으로 표시함
 
- style 속성 값을 android:attr/progressBarStyleHorizontal 로 설정한다.
 
4. 원모양
 
- 작업이 진행중임을 알려줌
-원 모양으로 된 프로그레스바가 반복적으로 표시됨.
 
 
5. 프로그레스바 사용 메소드
 
void setProgress(int progress)
void inCrementProgressBy(int diff)
 
requestWindowFeature(Window.FEATURE_PROGRESS);
cs


  • 프로젝트 Example_Progress 생성
1. 막대형 프로그레스바 추가 , 버튼 추가(버튼 클릭시 -> 막대 값 바뀌게 만들기)
2. 입력상자에 값을 입력하면 만들기

3. MainActivty로 이동 , 프로그레스바 속성에가서 Max,Min 값 설정 100,0 (이것을 쓰레드로도 확인할 수 있다. 진행 상태를)


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
30
31
32
33
34
35
36
37
package com.example.example_progress;
 
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
 
public class MainActivity extends AppCompatActivity {
 
    EditText editText;
    ProgressBar progressBar;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        Button button = (Button)findViewById(R.id.button);
        editText =(EditText)findViewById(R.id.editText);
        progressBar = (ProgressBar)findViewById(R.id.progressBar);
 
 
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String inputStr = editText.getText().toString().trim();
                int input = Integer.parseInt(inputStr);     // 문자 -> 숫자 변환
 
                progressBar.setProgress(input);         // 0~ 100 까지 설정
 
 
            }
        });
    }
}
cs

4.원형 띄워보기




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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package com.example.example_progress;
 
import android.app.ProgressDialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
 
public class MainActivity extends AppCompatActivity {
 
    EditText editText;
    ProgressBar progressBar;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        Button button = (Button)findViewById(R.id.button);
        editText =(EditText)findViewById(R.id.editText);
        progressBar = (ProgressBar)findViewById(R.id.progressBar);
 
        //프로그레스바 띄우기
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String inputStr = editText.getText().toString().trim();
                int input = Integer.parseInt(inputStr);     // 문자 -> 숫자 변환
 
                progressBar.setProgress(input);         // 0~ 100 까지 설정
 
 
            }
        });
        // 원형 대화 상자 띄우기
        Button button2 = (Button) findViewById(R.id.button2);
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showProgressDialog();
            }
 
 
        });
    }
    private void showProgressDialog() {
        ProgressDialog dialog = new ProgressDialog(this);
        dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        dialog.setMessage("데이터 확인중");
        dialog.show();
    }
}
cs
  • <결과>




  • 시크바 사용하기 (SeekBar) 추가로 이어서 하겠음


1
2
3
4
5
6
1. 시크바 추가하기 아래쪽에
 
2. 프로그레스바 초기값 75 , max값 100 설정
 
3. 소스
 
cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
    // 시크바 만들기
 
    SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar);
    seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
 
 
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean b) {
            editText.setText(String.valueOf(progress));
 
        }
 
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
 
        }
 
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
 
        }
    });
}
cs

  • <결과>




공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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 30
글 보관함