Android:在Pre Execute上更改ProgressDialog分隔符

时间:2016-09-19 13:37:30

标签: java android progressdialog divider

我想将ProgressDialog分隔线(上面的标题)从蓝色更改为红色,但不是在xml文件上,我希望在java代码中使用

@Override
        protected void onPreExecute() {
            super.onPreExecute();
            progress = new ProgressDialog(LoginFragment.this.getContext());
            progress.setTitle("Text");
            progress.setMessage("Searching...");
            progress.show();
        }

我不知道我是否可以用android全息颜色更改此分隔符。我该怎么办?

1 个答案:

答案 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