Android ProgressDialog颜色随机反转

时间:2013-02-15 12:04:02

标签: java android android-layout progressdialog

我通过我正在处理的android应用程序有几个ProgressDialogs。它们都以完全相同的方式使用,并且在整个应用程序中显示相同,除了整个ProgressDialog反转颜色的登录屏幕 - 带有黑色文本的白色背景变为带有白色文本的深黑色背景。这发生在Galaxy S3上,而不是在运行2.3的老三星上。下面显示了2个示例(为了SO的目的,声明转移到上面的实例化)

public static ProgressDialog loginProgressDialog = null;

/* show progress */
loginProgressDialog = new ProgressDialog(this);

loginProgressDialog.setTitle("Title - Removed for SO");
loginProgressDialog.setMessage("Please wait while signing in...");
loginProgressDialog.setIndeterminate(true);
loginProgressDialog.setCancelable(false);               

loginProgressDialog.show();

以上是S3

上随机反转颜色的登录对话框的代码

下面是代码,它通常在应用程序的4-5个位置显示ProgressDialog,它们都遵循以下相同的样式:

/* show progress */
public static ProgressDialog timedstartProgressDialog = null;

timedstartProgressDialog = new ProgressDialog(this);

timedstartProgressDialog.setTitle("Title - Removed for SO");
timedstartProgressDialog.setMessage("Get Ready!");
timedstartProgressDialog.setIndeterminate(true);
timedstartProgressDialog.setCancelable(false);

timedstartProgressDialog.show();

我正在努力理解为什么A)它发生在S3而不是旧的三星手机上,以及B)导致这种情况只会在登录屏幕上反转而不是在整个应用程序中的其他4-5活动

它可能非常简单,或者可能依赖于电话,但我似乎无法看到它。

1 个答案:

答案 0 :(得分:0)

import android.graphics.drawable.*;


ProgressBar pg = (ProgressBar)row.findViewById(R.id.progress);
final float[] roundedCorners = new float[] { 5, 5, 5, 5, 5, 5, 5, 5 };
pgDrawable = new ShapeDrawable(new RoundRectShape(roundedCorners, null,null));
String MyColor = "#FF00FF";
pgDrawable.getPaint().setColor(Color.parseColor(MyColor));
ClipDrawable progress = new ClipDrawable(pgDrawable,Gravity.LEFT,ClipDrawable.HORIZONTAL);
pg.setProgressDrawable(progress);   
pg.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.progress_horizontal));
pg.setProgress(45);