我想将ProgressDialog分隔线(上面的标题)从蓝色更改为红色,但不是在xml文件上,我希望在java代码中使用
@Override
protected void onPreExecute() {
super.onPreExecute();
progress = new ProgressDialog(LoginFragment.this.getContext());
progress.setTitle("Text");
progress.setMessage("Searching...");
progress.show();
}
我不知道我是否可以用android全息颜色更改此分隔符。我该怎么办?
答案 0 :(得分:0)
我解决了它创建一个扩展ProgressDialog类的自定义类......就像这样:
private static final class CustomProgressDialog extends ProgressDialog{
private CustomProgressDialog(Context context){
super(context);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Resources res = getContext().getResources();
final int id = res.getIdentifier("titleDivider", "id", "android");
final View titleDivider = findViewById(id);
final int idTitle = res.getIdentifier("alertTitle", "id", "android");
final TextView title = (TextView)findViewById(idTitle);
if (titleDivider != null) {
titleDivider.setBackgroundColor(Color.RED);
}
if (title != null) {
title.setTextColor(Color.RED);
}
}
}
然后,我创建了CustomProgressDialog而不是ProgressDialog,标题和分隔线的颜色现在是红色而不是蓝色。
这是我发现的最佳方式,无需使用XML文件来更改de style