【问题标题】:Progress Dialog without padding没有填充的进度对话框
【发布时间】:2016-01-27 17:22:11
【问题描述】:

我在Fragment 中使用了一个简单的进度对话框生成器方法:

public void showProgressDialog(int messageId){
    String message = getString(messageId);
    mProgressDialog = ProgressDialog.show(this.getActivity(), "", message, true);
}

我的进度对话框如下所示,没有正常的填充:

我应该怎么做才能在进度条周围设置默认填充?

编辑:添加主题.xml 文件

<resources xmlns:tools="http://schemas.android.com/tools">

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
</style>

<style name="AppTheme" parent="AppBaseTheme">

    <item name="android:textColorPrimary">@android:color/white</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>

    <item name="android:windowContentOverlay">@null</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>

    <!-- Toolbar Theme / Apply white arrow -->
    <item name="colorControlNormal">@android:color/white</item>
    <item name="actionBarTheme">@style/AppTheme.ActionBarTheme</item>

    <!-- Material Theme -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/status_bar_color</item>
    <item name="colorAccent">@color/accent_color</item>

    <item name="android:navigationBarColor" tools:targetApi="21">@color/navigationBarColor</item>
    <item name="android:fitsSystemWindows">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds" tools:targetApi="21">true</item>

</style>

<style name="AppTheme.ActionBarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
    <!-- White arrow -->
    <item name="colorControlNormal">@android:color/white</item>
</style>

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@color/drawerArrowColor</item>
</style>
</resources>

此类在 API 级别 26 中已弃用。ProgressDialog 是一种模式 对话框,它会阻止用户与应用程序交互。反而 使用此类,您应该使用进度指示器,例如 ProgressBar,可以嵌入到应用程序的 UI 中。或者, 您可以使用通知来通知用户任务的进度。更多详情Link

【问题讨论】:

  • 我猜是因为你没有传递title 值。为什么不给它一个合适的标题。或尝试传递" " 而不是""
  • 用title也试过了,没成功...
  • 你在android M上运行这个吗?你试过其他版本吗?
  • 不在android M上,但我使用com.android.support:design:22.2.0@style/Theme.AppCompat.Light.NoActionBar作为我的应用程序父主题,也许是主题?
  • 尝试使用这种风格"@android:style/Theme.Dialog"

标签: android android-layout


【解决方案1】:

这是我的解决方法,为对话框创建一个新主题。希望对您有所帮助!

   <style name="ProgressDialogTheme" parent="Theme.AppCompat.Light.Dialog">
        <item name="android:fitsSystemWindows">false</item>
        <item name="android:clipToPadding">false</item>
    </style>

    ProgressDialog progressDialog = new ProgressDialog(context, R.style.ProgressDialogTheme);
    progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    progressDialog.setMessage(content);
    progressDialog.show();

【讨论】:

    【解决方案2】:

    试试这个方法

     pDialog = new ProgressDialog(getActivity());
                pDialog.setMessage("Loading...");
                pDialog.setIndeterminate(true);
               // (To customize your dialog)pDialog.setIndeterminateDrawable(getResources().getDrawable(R.drawable.custom_progress));
                pDialog.setCancelable(false);
                pDialog.show();
    

    【讨论】:

      【解决方案3】:

      你可以试试下面的代码:

              ProgressDialog dialog = new ProgressDialog(getActivity(), getTheme());
              dialog.setTitle(getString(R.string.pleaseWait));
              dialog.setMessage(getString(R.string.message));
              dialog.setIndeterminate(true);
              dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
      

      您可以为您的进度对话框设置不同的主题..

      1) 尝试 ProgressDialog.THEME_HOLO_DARK 而不是 getTheme()。

      2) 或者您可以设置自定义主题。见link

      了解更多详情。看到这个link

      希望对你有帮助。

      【讨论】:

      • 感谢您的回复,它没有用...我想这与我的主题有关
      【解决方案4】:

      在我的应用主题中使用 &lt;item name="android:fitsSystemWindows"&gt;true&lt;/item&gt; 时遇到了同样的问题。删除这个项目对我有帮助(实际上,只是将它移到了我代码的其他部分)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多