使用系统默认的dialogue如何更改标题和分割线的颜色

来源:互联网 发布:3322软件站解压密码 编辑:程序博客网 时间:2024/06/05 01:16

今天碰到要把我们项目中所有用到的dialog的颜色换一下,项目中全部用到是系统最原始的dialog,为它一个一个写布局,不合适

找了资料,只需在显示dialog的时候设置监听器,在监听器里改变颜色

final AlertDialog alertDialog = new AlertDialog.Builder(context).setCustomTitle(titleView).create();alertDialog.setOnShowListener(new ShowDialogListener());alertDialog.show()

public class ShowDialogListener implements DialogInterface.OnShowListener {    @Override    public void onShow(DialogInterface dialog) {        Dialog d = ((Dialog) dialog);        Context context= d.getContext();        //改变分割线颜色        int divierId = context.getResources().getIdentifier("android:id/titleDivider", null, null);        View divider = d.findViewById(divierId);        divider.setBackgroundColor(context.getResources().getColor(R.color.driver_dialog));        //改变标题颜色        int diviertitleId = context.getResources().getIdentifier("android:id/alertTitle", null, null);        TextView diviertitle = (TextView)((Dialog) dialog).findViewById(diviertitleId);        diviertitle.setTextColor(context.getResources().getColor(R.color.title_dialog));    }}

0 0
原创粉丝点击