【问题标题】:Cannot make Android ProgressBar show as horizontal determinate无法使 Android ProgressBar 显示为水平确定
【发布时间】:2019-04-03 07:13:57
【问题描述】:

无论我做什么,我只会得到小的圆形不确定进度条。我需要的是水平确定。我在代码中显式尝试了 setIndeterminate(false),设置最大和初始进度,将其预先设置为可见,将样式显式设置为 @android:style/Widget.ProgressBar.Horizo​​ntal 或 style/Widget.AppCompat.ProgressBar.Horizo​​ntal - 没有帮助,滚动条保持不确定的圆圈。在 Studio 设计预览中,它显示为水平进度(当可见时)。 请知道我可能错在哪里?

Android 版本为 5.0。

布局摘录:

<ProgressBar
    android:id="@+id/loadingProgress"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:indeterminate="false"
    android:visibility="gone"
    />

代码 sn-ps(空格线和不相关的代码已删除):

    ProgressBar pbLoading;
    public void onCreate( Bundle _savedInstanceState ) {
    /* ... */
        pbLoading = findViewById( R.id.loadingProgress );
    /* ... */
    }
    public void onStartLoading() {
        pbLoading.setVisibility( ProgressBar.VISIBLE );
        pbLoading.setMax( 100 );
        pbLoading.setProgress( 0 );
    }
    public void onLoadProgress( double _progress ) {
        pbLoading.setProgress( (int)Math.round( _progress * 100 ) );
    }
    public void onDataLoaded() {
        fDataLoaded = true;
        pbLoading.setVisibility( View.GONE );
    }

【问题讨论】:

  • 你试过清理重建吗?还是使缓存无效并重新启动?你的代码应该可以工作
  • 您的代码看起来正确,请检查您是否显示正确的布局文件
  • @PierGiorgioMisley - 使缓存无效,然后清理项目,然后重建项目 - 没有帮助。此外,它是从另一个工作站完成的,由于不同的调试证书,这迫使应用程序完全重新部署。不过还是谢谢你的建议。
  • @PhanVanLinh - 这是项目中唯一可以供此活动使用的布局。此外,唯一一个包含 ProgressBar。
  • 能否请您发布完整的 xml 代码?

标签: android android-progressbar


【解决方案1】:

问题描述不完整。此应用程序使用老式方法,将其大部分逻辑放在库项目中,并覆盖应用程序项目中的各个方面。因此,事实证明布局被应用程序项目中具有相同布局 id 的几乎复制的布局覆盖。 现在问题已经解决了。

【讨论】:

    猜你喜欢
    • 2014-03-02
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 2023-04-08
    相关资源
    最近更新 更多