使用Holoeverywhere,使用ProgressDialog无法获得Holo的外观和感觉

时间:2013-01-25 09:49:17

标签: android android-holo-everywhere

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

这是我的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 个答案:

答案 0 :(得分: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();

答案 1 :(得分:2)

它使用此代码为我工作:

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

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

注意:我没有导入holoeverywhere progressdialog而是android.app.ProgressDialog;

答案 2 :(得分:2)

它对我来说也是这样的。

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

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

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

答案 3 :(得分:1)

我没有使用HoloEverywhere进行更改,但它需要ActionBarSherlock,因此可以尝试将样式更改为Theme.Sherlock.Light或将其用作基础。 类似的东西:

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

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