2013-05-30 2 views
0

제목이나 테두리가없는 사용자 지정 대화 상자 (android.app.Dialog에서 상속)가 있습니다. 이 대화 상자에 보통 ProgressBar을 추가하고 대화 상자에 가운데에 놓고 싶습니다. 대화 상자 자체에는 전체 화면으로 펼쳐지는 배경 이미지가 있습니다. 진행률 표시 줄이 대화 상자의 가운데에 오지 않는 것을 제외하면 모든 것이 작동하는 것 같습니다. 그것은 다음과 같습니다사용자 지정 대화 상자에서 ProgressBar 중심 지정

ProgBar Not Centered in Dialog

이 내가 대화에 진행 표시 줄을 추가하려면 customDialog 클래스 내에서 사용했던 코드 :

ProgressBar progBar = new ProgressBar(context); 

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
addContentView(progBar, layoutParams); 

getWindow().setGravity(Gravity.CENTER); 

내가 부족 무언가가 있는가, 또는 잘못 되었습니까?

감사합니다,
Rajath

+0

[내 대답의 레이아웃을 확인하는 것이 유용 할 수 있습니다] (http://stackoverflow.com/questions/13341560/how-to-create-a-custom-dialog-box-in-android/13342157#13342157) –

+0

사용 선형 레이아웃 대신 상대 레이아웃 –

+0

@chintankhetiya, 그것을 수정하기 위해 기존 코드에 최소한의 변경 사항이있는 경우이를 사용합니다. 그렇지 않다면 당신의 솔루션을 시도해 보겠습니다 – rajath

답변

1

이 시도 ..

ProgressBar progBar = new ProgressBar(context); 

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
      RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
    lp.addRule(RelativeLayout.CENTER_HORIZONTAL, progBar.getId()); 
    lp.addRule(RelativeLayout.CENTER_VERTICAL, progBar.getId()); 

    parentLayout.addView(progBar, lp); 
+0

이것은 작동하지 않았습니다. Btw, 대화 상자에 addView가 없으므로 addContentView를 사용했습니다. – rajath

1

을이 시도

 LinearLayout.LayoutParams ll = (LinearLayout.LayoutParams)b.getLayoutParams();  
ll.gravity = Gravity.CENTER; 
progBar.setLayoutParams(ll); 
+0

변경하지 않았습니다. – rajath

+0

내 수정 된 답변 확인 –

+0

이제 ProgressBar가 전혀 표시되지 않습니다 – rajath

0

을보십시오이, 설정 레이아웃 높이와 폭 FILL_PARENT

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 
params.gravity = Gravity.CENTER; 
progBar.setLayoutParams(params); 
+0

변경하지 않았습니다. – rajath

관련 문제