Google 近日释放的一个针对Android支持库的更新引入了一个激动人心的标准实现,它是正通过诸如GMail或者Google Now这些应用逐渐引介给大家的一种模式.
这一模式被称作滑动刷新, 使用一个对用户向上拉动作的反馈,来通知app发生了一种数据刷新的请求. 这完成了另外一种常见的模式,无线滚动,其使用一种向下动作来载入更多的数据.
我们已经更新了 我们的组件 来揭示实现了该模式的新的 SwipeRefreshLayout 类. 要使用它的话,只要简单的将其放入你现有的Xamarin.Android app布局中.
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/refresher"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
从代码中设置 SwipeRefreshLayout 实体是相当简单的. 简单的定义一个颜色主题还有一个当一个由用户发起的更新操作发生时被调用的回调就行了.
refresher = FindViewById<SwipeRefreshLayout> (Resource.Id.refresher);
refresher.SetColorScheme (Resource.Color.xam_dark_blue,
Resource.Color.xam_purple,
Resource.Color.xam_gray,
Resource.Color.xam_green);
refresher.Refresh += async delegate {
await forum.FetchItems (clear: true);
refresher.Refreshing = false;
};
颜色主题可以是任何类型的颜色或者就使用相同的颜色. 不管怎么样,第一个参数也会被用在设置初始化反馈条的背景上.
我们也已经增加了一个 专用的示例 来展示这一代码如何被集成到一个完整的场景中,囊括了一个利用了片段的复杂布局.