2016-04-06 9 views
-1

Frage im Titel) Helfen Sie mir, bitte) will ich von dieser enter image description hereWie wird ein benutzerdefiniertes Layout für den Fortschritt des Dialoghintergrunds festgelegt?

dass

enter image description here

ich es versucht machen, umzusetzen.

mProgressDialog = new ProgressDialog(this); 
mProgressDialog.getWindow().setContentView(R.layout.footcloth); 
mProgressDialog.setMessage(Constants.PROGRESS_DIALOG_MESSAGE); 
mProgressDialog.show(); 

Aber dieser Code werfen Ausnahme

java.lang.RuntimeException: Unable to start activity ComponentInfo{im.anticafe.anticafeim/im.anticafe.anticafeim.activities.HomeActivity}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content 

Dieser Code implementiert in Aktivität BottomBarActivity

abstract public class BottomBarActivity extends AppCompatActivity implements View.OnClickListener { 

    private static final String TAG = "bottomBarActivity"; 
    private int mWidth; 
    private ProgressDialog mProgressDialog; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     ... 
     mProgressDialog = new ProgressDialog(this); 
     mProgressDialog.getWindow().setContentView(R.layout.footcloth); 
     mProgressDialog.setMessage(Constants.PROGRESS_DIALOG_MESSAGE); 
     mProgressDialog.show(); 
     ... 
    } 

    ... 
} 

Und diese Aktivität in anderen erstrecken. Also, mir helfen, mein Problem zu lösen, bitte) Dank)

+2

was hast du probiert? –

+3

möglich duplizieren von http://stackoverflow.com/questions/13347539/change-background-of-progressdialog –

Antwort

3

Es gibt 2 Antworten

  1. Wenn Sie möchten, die Farbe wechseln (Transparenz) der Hintergrund Rahmen der Progress-Dialog, empfehle ich Ihnen, Fragmente und Schalter zu verwenden, Sie. Bei Fragmente können Sie alle Eigenschaften festgelegt und ProgressBar

nach vollständiger reload setzen, können Sie wieder zurück wechseln, oder zu einem anderen Fragmente

  1. Wenn Sie möchten, ändern Fortschrittsdialog

    public class TransparentProgressDialog extends Dialog { 
    
        public TransparentProgressDialog(Context context) { 
        super(context, R.style.TransparentProgressDialog); 
    
        WindowManager.LayoutParams wlmp = getWindow().getAttributes(); 
    
        wlmp.gravity = Gravity.CENTER_HORIZONTAL; 
        getWindow().setAttributes(wlmp); 
        setTitle(null); 
        setCancelable(false); 
        setOnCancelListener(null); 
        View view = LayoutInflater.from(context).inflate(
          R.layout.progress_dialog, null); 
        setContentView(view); 
        } 
    } 
    

In Ihrer Tätigkeit Verwendung

TransparentProgressDialog pd = new TransparentProgressDialog(context); 
pd.show(); 

.... 

if (pd.isShowing()){ 
      pd.dismiss(); 
     }