水平进度条未占满父容器宽度。

6

我正在为我的应用程序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>

在竖屏模式下一切看起来都很好:

输入图像描述

但在横屏模式下,它没有占满父元素的宽度:

输入图像描述

如何使进度条始终占用全部宽度。

答案:

感谢 @Mahavir Jain 指引正确的路径:

最后需要做的就是更改

android:indeterminateOnly="true"

to

android:indeterminate="true"

你尝试过从你的ProgressBar中删除android:maxWidth="2000dp"吗? - Sagar
1
是的,这就是为什么我一开始添加它的原因,我认为进度条可能有一些默认的最大宽度设置,所以我尝试覆盖它,但是没有帮助。 - antanas_sepikas
你是否将 AppBarLayout 放置在其他布局中? - Sagar
是的,一个位于DrawerLayout内部的CoordinatorLayout。 - antanas_sepikas
这不是进度条视图的问题。检查此视图的父级。在平板电脑xml或dimens中的某个地方,您正在设置边距或填充。 - Pankaj Kumar
@antanas_sepikas,请分享你的整个布局。 - AskNilesh
2个回答

6

请删除以下行:

android:indeterminateOnly="true"

android:indeterminateOnly 仅限于不确定模式(状态保持进度模式将无法工作)。

<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" 设置为true,或者尝试使用这个样式 style="@android:style/Widget.Holo.Light.ProgressBar.Horizontal" 代替。

style="?android:progressBarStyleHorizontal"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接