ProgressBar에 대한 추가 제어가 필요한 경우 WindowManager를 사용하여 모든 항목 위에 뷰를 추가 할 수 있습니다. 추가 레이아웃, 활동 또는 창없이 완료 할 수 있습니다. 일반보기처럼 애니메이션, 터치, 위치 및 가시성을 제어 할 수 있습니다. 완전 작업 코드 :
final ProgressBar view = new ProgressBar(TestActivity.this);
view.setBackgroundColor(0x7f000000);
final LayoutParams windowParams = new WindowManager.LayoutParams();
windowParams.gravity = Gravity.CENTER;
windowParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
windowParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
windowParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
windowParams.format = PixelFormat.TRANSLUCENT;
windowParams.windowAnimations = 0;
new AsyncTask<Integer, Integer, Integer>() {
public void onPreExecute() {
// init your dialog here;
getWindowManager().addView(view, windowParams);
}
public void onPostExecute(Integer result) {
getWindowManager().removeView(view);
// process result;
}
@Override
protected Integer doInBackground(Integer... arg0) {
// do your things here
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}.execute();
당신은 대화 사용할 수 있습니다 – pktangyue
** – MAC