Android 拉动刷新空进度(无箭头)

Android pull to refresh empty progress (no arrow)

我在我的应用程序中使用 Google 中的 SwipeContainer,代码如下:

<android.support.v4.widget.SwipeRefreshLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swipeContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/policeButton"
    android:layout_marginTop="10dp">

<ListView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/listView"
    android:layout_alignParentEnd="true"
    android:layout_below="@+id/policeButton"
    android:layout_marginTop="10dp" />
</android.support.v4.widget.SwipeRefreshLayout>

在我的 Gradle 文件 (module.app) 中,我添加了以下代码:

compile 'com.android.support:support-v4:23.1.1'

在 MainActivity 中,我放置了以下代码:

private SwipeRefreshLayout swipeContainer;

protected void onCreate(Bundle savedInstanceState) {
swipeContainer = (SwipeRefreshLayout) findViewById(R.id.swipeContainer);

    swipeContainer.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                public void run() {
                    loadLights();
                }
            }, 2000);
        }
    });
    swipeContainer.setColorSchemeColors(android.R.color.holo_blue_bright,
            android.R.color.holo_green_light,
            android.R.color.holo_orange_light,
            android.R.color.holo_red_light
            );
}

下拉刷新代码有效,将更新我的列表。 但是:当刷新操作正在进行时,转向箭头没有出现。所以有一个空圆圈,刷新时出现,完成loadLights()后会隐藏,因为我在那里添加了swipeContainer.setRefreshing(false);

有人知道如何显示转向箭头吗?

问题是 setColorSchemeColors()Color.BLUE 一样需要颜色整数作为输入,而不是颜色资源 ID。

所以要显示箭头的颜色代码应该是这样的:

 swipeRefreshLayout.setColorSchemeColors(Color.BLACK,
            Color.BLUE,
            Color.GREEN,
            Color.GRAY

    );

设置颜色资源 ID 的代码应如下所示:

 swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright,
            android.R.color.holo_green_light,
            android.R.color.holo_orange_light,
            android.R.color.holo_red_light
    );