2

我已经导入了库,没有错误或警告,但我无法让它工作。

这是我的 ProgressDialog 代码:

pDialog = new ProgressDialog(MyActivity.this);
pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pDialog.setMessage("Message");
pDialog.setCancelable(false);
pDialog.show();

我试过的:

  • 我试图将 Manifest 中的 App 主题更改为:@android:style/Theme.Holo.Light但没有用
  • 我还尝试像这样创建 ProgressDialog 实例:new ProgressDialog(Activity.this, R.drawable.dialog_full_holo_light);
  • 我正在扩展org.holoeverywhere.app.Activity;和导入org.holoeverywhere.app.ProgressDialog;

我不知道我错过了什么或为什么它不起作用。你能帮我么?

4

4 回答 4

5
ProgressDialog progressDialog;

if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB){
   progressDialog = new ProgressDialog(new ContextThemeWrapper(context, android.R.style.Theme_Holo_Light_Dialog));
}else{
   progressDialog = new ProgressDialog(context);
}

progressDialog.setMessage("Loading....");
progressDialog.show();
于 2014-02-15T08:39:50.437 回答
2

它也适用于我。

pDialog = new ProgressDialog(MainActivity.this, ProgressDialog.THEME_DEVICE_DEFAULT_DARK);

您可以在此处的进度对话框中看到您可能希望看到的不同布局。它从警报对话框继承这些样式。

http://developer.android.com/reference/android/app/ProgressDialog.html

于 2014-03-27T17:29:28.857 回答
2

它使用以下代码为我工作:

ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setIndeterminate(true);
progressDialog.setMessage(message);
progressDialog.show();

确保您的活动扩展 org.holoeverywhere.app.Activity;并且您没有将应用程序上下文传递给 progresdialog 构造函数。

注意:我不是在导入 holoeverywhere progressdialog 而是 android.app.ProgressDialog;

于 2013-02-13T16:26:30.847 回答
1

我没有更改使用 HoloEverywhere,但它需要 ActionBarSherlock,因此可以尝试将样式更改为 Theme.Sherlock.Light 或将其用作基础。就像是:

<style name="AppTheme" parent="Theme.Sherlock.Light">
</style>

如果这不起作用,请仔细检查您是否正在使用 org.holoeverywhere.app.***Activity 导入。

于 2013-01-30T15:54:54.930 回答