SwipeRefreshLayout未显示水平进度

时间:2015-04-08 10:18:45

标签: android-layout android-support-library android-progressbar pull-to-refresh

我正在使用supportv4:22.0.0来使用SwipeRefreshLayout。它的工作正常,但它总是显示循环的进展而不是横向进展。

我已附上截图以便更好地理解

我有enter image description here

但我想要这样 enter image description here

我正在使用的代码 布局

<android.support.v4.widget.SwipeRefreshLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ptr_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
<ListView
            android:id="@+id/lv_news_feed_details"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:divider="#dbdfea"
            android:dividerHeight="1dp"
            android:cacheColorHint="@null"
            android:listSelector="#00000000"
             />
</android.support.v4.widget.SwipeRefreshLayout>

Java类

    mPullToRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.ptr_layout);
mPullToRefreshLayout.setOnRefreshListener(this);
mPullToRefreshLayout.setColorScheme(android.R.color.holo_blue_bright, 
            android.R.color.holo_green_light, 
            android.R.color.holo_orange_light, 
            android.R.color.holo_red_light);

1 个答案:

答案 0 :(得分:3)

我很确定这堂课是不可能的。您始终可以查看源代码以确保其正常工作。 setColorScheme仅设置正在旋转的环的颜色。现在不推荐使用setColorScheme - 所以让我们看看

public void setColorSchemeColors(int... colors) {
        ensureTarget();
        mProgress.setColorSchemeColors(colors);
    }

并在MaterialProgressDrawable中:

public void setColorSchemeColors(int... colors) {
        mRing.setColors(colors);
        mRing.setColorIndex(0);
    }

和字段

private final Ring mRing;

正如您所看到的,没有您想要的经典ProgressBar。