How to set Transparent Background as a Custom Dialog Box in android

前端 未结 8 1053
梦谈多话
梦谈多话 2021-02-02 17:52

I need to make my custom dialog box as a transparent.

Sample Code :

Dialog dialog;
@Override
protected Dialog onCreateDialog(int id) 
{ 
    switch(id) 
         


        
8条回答
  •  攒了一身酷
    2021-02-02 18:09

    This question of yours describes exactly what my problem was. I tried every single solution I stumbled upon in this thread as well as in several more threads. Nothing worked. Finally I stumbled upon this thread and the corresponding answer.

    I had to create a custom dialog class. So I did and it worked. Actually the following styles were sufficient for me:

    colors.xml:

    
    
        #66000000
    
    

    styles.xml:

    
    
        
    
    

    The code of the dialog class:

    import android.app.Dialog;
    import android.content.Context;
    
    import my.app.com.android.R;
    
    public class CustomDialog extends Dialog {
        public AddBookCustomDialog(final Context context) {
            super(context, R.style.custom_dialog_theme);
            this.setContentView(R.layout.add_book_dialog);
        }
    }
    

    And how I use this dialog in the activity code:

    CustomDialog customDialog = new CustomDialog(this);
    customDialog.show();
    

    I don't know why I have to create a custom class in order for the theme to be taken into account. Now I have achieved what I wanted to do: transparent dialog. The next fight will be to position positive and negative buttons as long as I can no longer user the convenience methods of AlertDialog.Builder. Hopefully my code will prove of help to you.

    Also notice the low value of alpha - maybe even try it with 00 so that you make sure whether your configuration works.

提交回复
热议问题