늘 ProgressBar,ProgesDialog 의 용법 에 대해 이야기 합 니 다.
7883 단어 ProgressBarProgessDialog사용법
1.상용 유형
1.1 불 확정 식 원형 진도 게이지
style="@android:style/Widget.Holo.Light.ProgressBar"
style="@android:style/Widget.DeviceDefault.Light.ProgressBar.Large"
...
진 도 를 표시 하지 않 았 습 니 다.오 버 애니메이션 으로 사용 할 수 있 습 니 다.대,중,소 세 가지 크기 가 있 는데 기본 값 은 중 입 니 다.1.2 선형 진도 게이지
style="@android:style/Widget.ProgressBar.Horizontal"
style="@android:style/Widget.DeviceDefault.Light.ProgressBar.Horizontal"
...
디 스 플레이 진도 가 있 습 니 다.1.3 제목 표시 줄 불 확정 진도 표시 줄
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarIndeterminateVisibility(true);
제목 표시 줄 오른쪽 에 표 시 된 진 도 를 표시 하지 않 는 원형 진도 바 입 니 다.1.4 제목 표시 줄
requestWindowFeature(Window.FEATURE_PROGRESS);
setProgressBarVisibility(true);
제목 표시 줄 상단 에 표 시 된 막대 진도 바 는 setProgess(int)를 통 해 현재 진 도 를 설정 할 수 있 으 며 최대 값 은 10000 입 니 다.2.상용 컨트롤 속성
<!-- -->
android:max
<!-- -->
android:progress
<!-- -->
android:secondaryProgress
<!-- ;true ,false -->
android:indeterminate
<!-- -->
android:progressDrawable
3.사용자 정의 스타일컨트롤 의 android:progressDrawable 속성 을 통 해 사용자 정의 drawable 파일 을 참조 합 니 다.일반적으로 세 가지 내용 을 정의 해 야 한다.배경,첫 번 째 진도,두 번 째 진도.
범례:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- -->
<item android:id="@android:id/background">
<shape>
<!-- -->
<corners android:radius="10dip" />
<!-- -->
<solid android:color="#dddddd" />
</shape>
</item>
<!-- -->
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="10dip" />
<solid android:color="#78bb78" />
</shape>
</clip>
</item>
<!-- -->
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="10dip" />
<solid android:color="#55bb55" />
</shape>
</clip>
</item>
</layer-list>
효과 그림 붙 이기:4.관건 적 인 방법
//
setProgress(int)
//
setSecondaryProgress(int)
//
getProgress()
//
getSecondaryProgress()
//
incrementProgressBy(int)
//
incrementSecondaryProgressBy(int)
//
getMax()
5.범례레이아웃 이 비교적 간단 하고 선형 레이아웃 이 며 세로 로 배열 되 어 있 습 니 다.여 기 는 코드 를 붙 이지 않 고 그림 을 직접 붙 입 니 다.
Java:
public class ProgessBarActivity extends Activity implements View.OnClickListener{
private ProgressBar progressBar;
private TextView text;
private Button addFirst;
private Button addSecond;
private Button subFirst;
private Button subSecond;
private Button reset;
private int first;
private int second;
private int max;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_progess_bar);
init();
}
private void init() {
progressBar = (ProgressBar) findViewById(R.id.progress_bar);
text = (TextView) findViewById(R.id.text);
addFirst = (Button) findViewById(R.id.add_first);
subFirst = (Button) findViewById(R.id.sub_first);
addSecond = (Button) findViewById(R.id.add_second);
subSecond = (Button) findViewById(R.id.sub_second);
reset = (Button) findViewById(R.id.reset);
// 、 、
first = progressBar.getProgress();
second = progressBar.getSecondaryProgress();
max = progressBar.getMax();
addFirst.setOnClickListener(this);
addSecond.setOnClickListener(this);
subFirst.setOnClickListener(this);
subSecond.setOnClickListener(this);
reset.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.add_first:
// 10
progressBar.incrementProgressBy(10);
break;
case R.id.add_second:
// 10
progressBar.incrementSecondaryProgressBy(10);
break;
case R.id.sub_first:
progressBar.incrementProgressBy(-10);
break;
case R.id.sub_second:
progressBar.incrementSecondaryProgressBy(-10);
break;
case R.id.reset:
//
progressBar.setProgress(30);
progressBar.setSecondaryProgress(60);
break;
}
//
text.setText(" " + (int) (1.0*first/max*100) + "%, " + (int) (1.0*second/max*100) + "%");
}
}
2.ProgressDialog1.구조 함수
ProgressDialog(Context context)
ProgressDialog(Context context, int theme)//theme
2.관건 적 인 방법
//
setProgressStyle(int style)
//
setTitle(String title)
//
setMessage(CharSequence message)
//
setIcon(Drawable d)
// ,whichButton ,text ,listener
setButton(int whichButton, CharSequence text, OnClickListener listener)
//
show()
이 밖 에 이 몇 가지 방법 을 제외 하고 ProgressDialog 도 상기 ProgressBar 에서 소개 한 방법 을 사용 할 수 있다.3.범례
public class ProgressDialogActivity extends Activity {
private ProgressDialog proDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_progress_dialog);
findViewById(R.id.show).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//
proDialog = new ProgressDialog(ProgressDialogActivity.this);
//
proDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//
proDialog.setTitle(" ProgressDialog");
//
proDialog.setMessage(" , !");
//
proDialog.setIcon(R.drawable.ic_launcher);
// , 10000
proDialog.setMax(100);
//
proDialog.incrementProgressBy(30);
//
proDialog.setButton(DialogInterface.BUTTON_POSITIVE, " ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
//
proDialog.show();
}
});
}
}
이상 의 이 상투적인 ProgressBar,ProgessDialog 의 용법 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 많은 응원 을 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bootstrap4에서 진행률 막대 만들기프런트 엔드 프레임 워크로 Bootstrap을 사용해 보았으므로 메모 해 둡니다. 만든 코드는 아래와 같습니다. HTML 부분 처리를 객체로 합친다. ※ 외부 파일로 분리할 수 있도록 캡슐화 객체 스크립트 위의 객체...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.