我想在警告对话框中设置样式或更改标题标题的分隔颜色。我搜索这个问题,我想很多人都在寻找这个。但我仍然无法找到正确的解决方案。我想改变以下内容。
答案 0 :(得分:15)
你可以通过一个非常简单的黑客来改变AlertDialog标题的颜色:
public static void brandAlertDialog(AlertDialog dialog) {
try {
Resources resources = dialog.getContext().getResources();
int color = resources.getColor(...); // your color here
int alertTitleId = resources.getIdentifier("alertTitle", "id", "android");
TextView alertTitle = (TextView) dialog.getWindow().getDecorView().findViewById(alertTitleId);
alertTitle.setTextColor(color); // change title text color
int titleDividerId = resources.getIdentifier("titleDivider", "id", "android");
View titleDivider = dialog.getWindow().getDecorView().findViewById(titleDividerId);
titleDivider.setBackgroundColor(color); // change divider color
} catch (Exception ex) {
ex.printStackTrace();
}
}
答案 1 :(得分:4)
分频器颜色: -
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.dialog)
.setIcon(R.drawable.ic)
.setMessage(R.string.dialog_msg);
Dialog d = builder.show();
int dividerId = d.getContext().getResources().getIdentifier("android:id/titleDivider", null, null);
View divider = d.findViewById(dividerId);
divider.setBackgroundColor(getResources().getColor(R.color.my_color));
答案 2 :(得分:0)
从消息来源来看,似乎这种颜色是硬编码的。我认为这是一个错误,它应该是可定制的imho。
有一个简单的解决方法:使用setStyle(DialogFragment.STYLE_NO_TITLE, R.style.myStyle);
,并编写一个简单的线性布局,其中第一个项目是您的标题。
答案 3 :(得分:-1)
Stretch