请告诉我,我怎样才能让swipeRefreshLayout像这样

我的swipeRefreshLayout看起来就像

我希望它看起来像一条线,而不是一个圆。
布局:
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipeRefreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/listView"/>
</LinearLayout>
</android.support.v4.widget.SwipeRefreshLayout>代码:
swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() { }
});
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);我使用appcompat库,ActionBarActivity
发布于 2015-01-07 19:28:31
您必须在使用v4 Support Library之前使用revision 21版本。在这次修订中,风格发生了变化。如果您正在使用gradle,请使用以下内容:
compile 'com.android.support:support-v4:20.x.x'
其中x是特定的版本号。
发布于 2015-04-08 14:53:25
您有两个选项可以返回旧的SwipeRefreshLayout:
1.正如史蒂夫所说的,在第21版之前使用v4支持库。我想应该是v4 Support Library r20。您可以从google的站点下载它,如果从旧项目获得,或者在build.gradle依赖项中使用适当的版本,例如
compile 'com.android.support:support-v4:20.0.0'但在这种情况下,您将使用旧的库,这可能是未来的问题。因为有很多其他的类是可以帮助的。
2.获取SwipeRefreshLayout的源代码并将它们放入您的项目中。这也不是完美的解决方案,但谷歌员工让我们别无选择。所以下一步应该是你的步骤:
A.从r20.zip下载v4支持库第20版的源代码并解压缩。
B.在您的项目中创建一些子包(例如com.yourpackagename.supportv4r20 ),并复制它的下一个文件:
BakedBezierInterpolator.java
SwipeProgressBar.java
SwipeRefreshLayout.java
此文件被放置在../support/v4/src/java/android/support/v4/widget/目录中。
C.修复SwipeProgressBar中的代码使用SwipeProgressBar,在SwipeRefreshLayout中使用代码使用SwipeProgressBar。您必须删除“Importandroid.Support.v4.widget*”,并更改代码以使用包中的本地类(来自com.yourpackagename.supportv4r20)。不应该是这些类中的任何其他错误。
D.现在更改布局文件以使用包中的SwipeRefreshLayout,如下所示
<com.yourpackagename.supportv4r20.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
....
</com.yourpackagename.supportv4r20.SwipeRefreshLayout>现在应该管用了。您也可以使用v4支持库的最新版本。
更重要的一点是,与SwipeRefreshLayout中的v4支持库还有一些联系,它们是android.support.v4.view.MotionEventCompat和android.support.v4.view.ViewCompat。我没有更改代码,并且仍然使用它们。我检查了这个类的代码,我想我们可以“按原样”使用它。但是,如果将来使用SwipeRefreshLayout有一些问题,那么ypu必须像我们对SwipeRefreshLayout / SwipeProgressBar / SwipeProgressBar一样,从v4支持库r20源复制所有这些文件,并修复所有的依赖项。
干杯!
https://stackoverflow.com/questions/27826827
复制相似问题