2012-03-31 1 views
5

ProgressDialog에 기본 회 전자 대신 확정 진도 표시 줄을 지정하고 싶습니다. 그것은 쉬운 것 같습니다 : ProgressDialog 메서드는 setIndeterminate이며, 메서드 show은 불확정성을 나타내는 부울을 허용합니다. 그러나이 방법은 나를 위해 작동하지 않습니다! 대화 상자는 회 전자와 함께 여전히 불확실합니다. 행동을 바꾸는 방법?Android에서 ProgressDialog 결정

progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 

체크 아웃 그 부분에 부착 된 예제 소스 코드와 함께 공식 dev에 가이드 Showing a progress bar :

답변

9

당신은 전화를해야합니다.

+1

이 링크의 예제가 도움이되었습니다. 감사합니다.) – aplavin

-2
ProgressDialog dialog = new ProgressDialog(this); 
dialog.setMessage("Registering. Please wait..."); 
dialog.setIndeterminate(true); 
dialog.setCancelable(false); 
dialog.show(); 

Try this code should work fine... 
+1

나는 당신이 나를 오해 한 것 같아요. 나는 얼마나 많은 과정이 완료되었는지를 보여주는 확실한 진행 바가 필요합니다. – aplavin

0
Oh Sorry.. Try this 

1) Create a layout file with below code 

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" android:id="@+id/RelativeLayout_DownloadProgress" android:paddingLeft="20dp" android:paddingBottom="20dp" android:paddingRight="10dp" android:paddingTop="20dp"> 
    <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/downloading_video_tv" android:text="@string/downloading_video" android:textStyle="bold" android:textColor="@color/COLOR_WHITE"></TextView> 
    <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/download_progress_tv" android:text="@string/zero_percent" android:layout_below="@+id/downloading_video_tv" android:textColor="@color/COLOR_WHITE"></TextView> 

    <Button 
     android:id="@+id/download_cancel_btn" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_below="@+id/downloading_video_tv" 
     android:text="@string/Cancel" 
     android:textColor="@color/COLOR_CANCEL_BTN" android:layout_marginLeft="5dp"> 
</Button> 

    <ProgressBar 
     android:id="@+id/download_progressbar" 
     style="?android:attr/progressBarStyleHorizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="13dp" 
     android:layout_below="@id/download_progress_tv" 
     android:layout_toLeftOf="@id/download_cancel_btn" 
     android:indeterminateOnly="false" 
     android:max="100" 
     android:progressDrawable="@drawable/dwnld_progress" > 

</ProgressBar> 


</RelativeLayout> 



2) In your code do the following 

    i) in oncreate() method add the following lines.. 
     //Download progress layout inflate 
     RelativeLayout relativelayout_DownloadProgress = (RelativeLayout)_inflater.inflate(R.layout.downloadprogress, null); 
     TextView downloadProgress_PercentageTV = (TextView)relativelayout_DownloadProgress.findViewById(R.id.download_progress_tv); 
     Button downloadProgress_CancelBtn = (Button)relativelayout_DownloadProgress.findViewById(R.id.download_cancel_btn); 
     ProgressBar download_progressBar = (ProgressBar)relativelayout_DownloadProgress.findViewById(R.id.download_progressbar); 
     downloadProgress_CancelBtn.setOnClickListener(new OnClickListener() {   
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

       dismissDialog(0); 
      } 
     }); 
    ii) //Creating Dialogs i.e., below onCreate() method 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case 0: 
      return new AlertDialog.Builder(_activity) 
      .setView(relativelayout_DownloadProgress) 
      .create(); 
     }//switch end 
     return null; 
    }//onCreateDialog() 

    iii) on any click event add the following lines. 
    showDialog(0);download_progressBar.setProgress(0); 


Sorry i know its too long code but its working code in application...Try it might need modifications like variables must be declared in class scope. 
+0

위의 코드가 유용할지 여부는 .... – Ishu

+0

이 코드는 ProgressBar를 사용하지만 ProgressDialog는 사용하지 않습니다. ProgressDialog를 사용하여 이러한 동작을 구현할 수 있기를 바랍니다. 그렇지 않은 경우에만 제안 된 방식대로 작동합니다. – aplavin

+0

예 ProgressBar를 사용하지만보기가 대화 상자로 표시되므로 문제가 없어야하며 작동중인 현재 응용 프로그램의 코드가 작동합니다. – Ishu