Android - 循环进度条无效

时间:2016-07-18 20:12:21

标签: android xml android-progressbar

我正在尝试创建一个不确定的进度条以表示在我的应用中加载。然而,在尝试了无数的xml布局和不同的代码之后,我似乎无法正常工作。这是我的主要片段的xml文件:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             xmlns:tools="http://schemas.android.com/tools"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             tools:context="com.example.dwinnbrown.xxx.FirstFragment">

    <!-- TODO: Update blank fragment layout -->
        <WebView  xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />

    <ProgressBar
        android:id="@+id/prgrsbar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:max="500"
        android:progress="0"
        android:indeterminate="true"
        android:progressDrawable="@drawable/circular" />


</FrameLayout>

我的circular.xml文件:

<shape
    android:innerRadiusRatio="3"
    android:shape="ring"
    android:thicknessRatio="7.0">

    <gradient
        android:centerColor="#007DD6"
        android:endColor="#007DD6"
        android:startColor="#007DD6"
        android:angle="0"
        android:type="sweep"
        android:useLevel="false" ></gradient>
</shape>

然而输出看起来像这样 - 我错过了什么吗?

enter image description here

2 个答案:

答案 0 :(得分:0)

我将进入进度条,但还有另一件事需要改进:

FrameLayout适用于堆叠在彼此之上的子项,但它不支持对齐其中的视图。

因此,一个简单的开始是使用Relativelayout作为根视图,然后您可以轻松地在视图中间对齐Progressbar。

现在,对于进度条,我自己没有完成您的用例。但是我会建议你先将它剥离到essensitals,看看它是否已被删除,所以:

<ProgressBar
    android:id="@+id/prgrsbar"
    android:layout_width="150dp"
    android:layout_centerInParent="true"
    android:layout_height="150dp"/>

这应该会显示一个简单的进度条,它只是继续旋转一圈。如果不存在其他地方的问题。

之后,你可以通过添加最小/最大值来建立它,看它是否变直

最后,添加drawable,我只是猜测,可能是这里的问题,我们可以看看为什么失败,但后来我们找到了根本原因并且可以轻松搜索错误。 :)

编辑:

我在网上看了一下,从我发现的drawable应该看起来与此类似(虽然未经测试):How to set color to secondary drawable in progress bar

答案 1 :(得分:0)

Android内置循环进度条,试试这个:

<ProgressBar
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:indeterminate="true"
    android:id="@+id/prgrsbar"
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

如果版面太大,您可以使用progressBarStyleSmall代替progressBarStyleLarge,或自行自定义。{/ p>