본문 바로가기

Android/Java

ProgressbarUtil 만들기

반응형

항상 앱을 사용하다보면, socket 연결이나 data를 불러올때 기다려야 하는 시간이 존재합니다.


물론 안기다리고 바로 뜨게끔 구현하는 것이 가장 베스튼데... 어렵죠..


일부로 기다리는 시간을 주는 경우도 있는데, 이러한 경우 매번 progressbar를 할당해 나타내면


시간도 오래 걸리고 코드도 반복적으로 작성이 됩니다!!!


이를 줄이기 위해 progressbar 를 util로 만들어 바로바로 출력가능하게끔 구현해봤는데요


사용 방법은 간단합니다.


public class ProgressbarUtil {
private ProgressBar progressBar;
private static ProgressbarUtil instance;

private ProgressbarUtil() {}
public static ProgressbarUtil getInstance() {
if (instance == null)
instance = new ProgressbarUtil();

return instance;
}

/** ViewGroup layout : layout의 젤 상위 layout 을 가져오면 됨 */
public void showProgressbar(Context context, ViewGroup layout) {
progressBar = new ProgressBar(context, null, android.R.attr.progressBarStyleLarge);
progressBar.setIndeterminate(true);
progressBar.setVisibility(View.VISIBLE);

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(w, h);
params.addRule(RelativeLayout.CENTER_IN_PARENT);

layout.addView(progressBar, params);
}
public void hideProgressbar(ViewGroup layout) {
layout.removeView(progressBar);
}
}

이런식으로 작성해 불러주면 됩니다.

저는 relativelayout 에서 구성했습니다. 가장 구성하기 편하고 gpu 렌더링을 했을 경우 linearlayout 등을 여러개 겹쳐서 나타내는 것보다

relativelayout 으로 구성하는게 렌더링을 덜 잡아먹더라구요!!!

------------------------이상으로 오늘의 ProgressbarUtil 을 마치겠습니다~!!


반응형

'Android > Java' 카테고리의 다른 글

SQLite를 Util로 만들어서 사용하기!  (0) 2018.05.17
간단한 SplashActivity 만들기  (0) 2018.05.09
마켓에 올린 앱의 "버전" 가져오는 방법  (0) 2018.05.06
간단한 view pager 사용법  (0) 2018.05.03
권한요청하기  (0) 2018.05.02