【问题标题】:horizontal ProgressBar is not full parent width水平 ProgressBar 不是全父宽度
【发布时间】:2018-07-03 06:32:47
【问题描述】:

我正在向我的应用程序 AppBarLayout 添加进度条:

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="?attr/appBarLayoutTheme">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="?attr/toolbarPopupTheme"/>

    <ProgressBar
        style="?android:progressBarStyleHorizontal"
        android:id="@+id/progress_loader"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="-8dp"
        android:indeterminateTint="@color/greyishWhite"
        android:layout_marginTop="-9dp"
        android:maxWidth="2000dp"
        android:indeterminateOnly="true"/>

</android.support.design.widget.AppBarLayout>

纵向模式下一切正常:

但在横向模式下,它不需要完整的父宽度:

我怎样才能强制 ProgressBar 在任何时候都充满。

回答:

感谢@Mahavir Jain 指导正确的道路:

最后要做的就是改变

android:indeterminateOnly="true"

android:indeterminate="true"

【问题讨论】:

  • 您是否尝试过从 `ProgressBar 中删除 android:maxWidth="2000dp"
  • 是的,这就是为什么我首先添加它,我认为进度条可能默认设置了某种最大宽度,所以我尝试覆盖它,但它没有帮助跨度>
  • 您是否将AppBarLayout 包裹在其他布局中?
  • 是的,一个位于 DrawerLayout 内部的 CoordinatorLayout
  • 这不是您的进度条视图的问题。检查此视图的父母。在平板电脑 xml 或尺寸中的某处,您正在设置边距或填充

标签: android android-progressbar


【解决方案1】:

删除下面的行。

android:indeterminateOnly="true"

android:indeterminateOnly 限制为 ONLY 不确定模式(状态保持进度模式将不起作用)。

<ProgressBar
            android:id="@+id/progress_loader"
            style="?android:progressBarStyleHorizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="-8dp"
            android:layout_marginTop="-9dp"
            android:indeterminateTint="@color/red"
            android:max="100"
            android:progress="100"
            tools:ignore="UnusedAttribute" />

【讨论】:

    【解决方案2】:

    设置android:indeterminate="true" 或试试这个style="@android:style/Widget.Holo.Light.ProgressBar.Horizontal" 而不是

    style="?android:progressBarStyleHorizontal"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-30
      • 2013-04-23
      • 2014-11-23
      • 1970-01-01
      • 2017-05-26
      • 1970-01-01
      • 2012-10-12
      • 1970-01-01
      相关资源
      最近更新 更多