2

通过我正在开发的 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 个活动上反转。

这可能是非常简单的事情,或者可能取决于电话,但我似乎看不到它。

4

1 回答 1

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);
于 2013-02-15T12:30:21.790 回答