Styling titleDivider in Dialog

后端 未结 15 1007
面向向阳花
面向向阳花 2020-12-06 05:27

I am wondering how it is possible to get rid of (or change color) titleDivider in Dialog. It is a blue line below dialog title shown on honeycomb+ devices.

15条回答
  •  天命终不由人
    2020-12-06 05:39

    Here is how I resolved that (thanks to http://joerg-richter.fuyosoft.com/?p=181 ):

    MyDialogBuilder.class

    public class MyDialogBuilder extends android.app.AlertDialog.Builder {
    
    public MyDialogBuilder(Context context) {
        super(context);
    }
    
    @NonNull
    @Override
    public android.app.AlertDialog create() {
        final android.app.AlertDialog alertDialog = super.create();
    
        alertDialog.setOnShowListener(new DialogInterface.OnShowListener() {
            @Override
            public void onShow(DialogInterface dialog) {
                int titleDividerId = getContext().getResources()
                        .getIdentifier("titleDivider", "id", "android");
    
                View titleDivider = alertDialog.findViewById(titleDividerId);
                if (titleDivider != null) {
                    titleDivider.setBackgroundColor(getContext().getResources()
                            .getColor(R.color.alert_dialog_divider));
                }
            }
        });
    
        return alertDialog;
    }
    }
    

提交回复
热议问题