SwipeRefreshLayout无法显示水平进度

6
我正在使用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个回答

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。


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