728x90
안녕하세요.
오늘은 ProgressBar를 이용해 원형 로딩바를 만들어 키고 끄는것 까지 해보겠습니다.
먼제 xml 파일입니다.(progressdialog)
<?xml version="1.0" encoding="utf-8"?>
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center"
android:alpha="0.8">
</ProgressBar>
그리고 ProgressDialog 클래스를 만들어 줍니다.
public class ProgressDialog {
private Context context;
private Dialog dialog;
public ProgressDialog(Context context){this.context = context;}
public void showDialog(){
dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.progressdialog);
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
dialog.getWindow().setDimAmount(0.4f);
dialog.setCancelable(false);
WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.MATCH_PARENT;
dialog.getWindow().setAttributes(params);
dialog.show();
}
public void closeDialog() {
dialog.dismiss();
}
}
xml 파일과 클래스를 만들었으면 이제 액티비티에서 로딩바를 키고 끌 수 있습니다. 핸들러를 사용해 2초동안 로딩바가 보이게 하겠습니다.
public class MainActivity extends AppCompatActivity {
ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
progressDialog = new ProgressDialog(this);
progressDialog.showDialog();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
progressDialog.closeDialog();
}
},2000);
}
}
ProgressDialog를 객체화 시키고 showDialog와 closeDialog 메서드를 통해 원하는 곳에 로딩바를 키고 끄실 수 있습니다.
'안드로이드 자바' 카테고리의 다른 글
[Android][Java] 알라딘 API로 책 검색하기 (0) | 2023.02.11 |
---|---|
[Android][Java] LineChat 그리는법 (0) | 2023.02.09 |
[Android][Java] FloatingActionButton에 카운터 기능 추가하기 (0) | 2023.02.07 |
[Android][Java] 툴바 버튼에 뱃지 추가하기 (0) | 2023.02.01 |
[Android][Java]TransitionAnimation 을 이용해 Activity 전환 애니메이션 만들기 (0) | 2023.01.30 |