SwipeRefreshLayout在v4包下,相应的v4Demo中也有相应的样例。假设没有请下载最新support-v4

SwipeRefreshLayout 仅仅能有一个直接子View,可能是一个ListView或一个Layout或其它须要刷新的组件。

setOnRefreshListener 用于监听刷新的动作。SwipeRefreshLayout 下拉。就会有刷新的效果出来,触发该监听。

假设须要一个刷新的动画,setRefreshing(true), 停: setRefreshing(false)

假设要禁用刷新动画和手势响应,ssetEnable(false)。  恢复setEnable(true)

来个v4的样例:

public class SwipeRefreshLayoutActivity extends Activity implements OnRefreshListener {
public static final String[] TITLES =
{
"Henry IV (1)",
"Henry V",
"Henry VIII",
"Richard II",
"Richard III",
"Merchant of Venice",
"Othello",
"King Lear",
"Henry IV (1)",
"Henry V",
"Henry VIII",
"Richard II",
"Richard III",
"Merchant of Venice",
"Othello",
"King Lear",
"Henry IV (1)",
"Henry V",
"Henry VIII",
"Richard II",
"Richard III",
"Merchant of Venice",
"Othello",
"King Lear",
"Henry IV (1)",
"Henry V",
"Henry VIII",
"Richard II",
"Richard III",
"Merchant of Venice",
"Othello",
"King Lear"
};
// Try a SUPER quick refresh to make sure we don't get extra refreshes
// while the user's finger is still down.
private static final boolean SUPER_QUICK_REFRESH = false;
private View mContent;
private SwipeRefreshLayout mSwipeRefreshWidget;
private ListView mList;
private Handler mHandler = new Handler();
private final Runnable mRefreshDone = new Runnable() { @Override
public void run() {
mSwipeRefreshWidget.setRefreshing(false);
} };
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.swipe_refresh_widget_sample);
mSwipeRefreshWidget = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_widget);
mSwipeRefreshWidget.setColorScheme(R.color.color1, R.color.color2, R.color.color3,
R.color.color4);
mList = (ListView) findViewById(R.id.content);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, TITLES);
mList.setAdapter(arrayAdapter);
mSwipeRefreshWidget.setOnRefreshListener(this);
mSwipeRefreshWidget.setProgressViewEndTarget(false, 8);
} @Override
public void onRefresh() {
refresh();
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.swipe_refresh_menu, menu);
return true;
} /**
* Click handler for the menu item to force a refresh.
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
final int id = item.getItemId();
switch(id) {
case R.id.force_refresh:
mSwipeRefreshWidget.setRefreshing(true);
refresh();
return true;
}
return false;
} private void refresh() {
mHandler.removeCallbacks(mRefreshDone);
mHandler.postDelayed(mRefreshDone, 1000);
}
}

swipe_refresh_widget_sample.xml

<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_refresh_widget"
android:layout_width="match_parent"
android:layout_height="match_parent" > <!-- some full screen pullable view that will be the offsetable content --> <ListView
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent" /> </android.support.v4.widget.SwipeRefreshLayout>

Android v4包中的 SwipeRefreshLayout 官方的下拉刷新组件的更多相关文章

  1. Google官方下拉刷新组件---SwipeRefreshLayout

    今天在Google+上看到了SwipeRefreshLayout这个名词,遂搜索了下,发现竟然是刚刚google更新sdk新增加的一个widget,于是赶紧抢先体验学习下. SwipeRefreshL ...

  2. Google自己的下拉刷新组件SwipeRefreshLayout

    SwipeRefreshLayout SwipeRefreshLayout字面意思就是下拉刷新的布局,继承自ViewGroup,在support v4兼容包下,但必须把你的support librar ...

  3. google官方的下拉刷新+自定义上拉加载更多

    转载请标注转载:http://blog.csdn.net/oqihaogongyuan/article/details/50949118 google官方的下拉刷新+自定义上拉加载更多 现在很多app ...

  4. Android内置下拉刷新组件SwipeRefreshLayout

    也许下拉刷新之前,你可能会使用一些第三方的开源库,例如PullToRefresh, ActionBar-PullToRefresh等待,但现在有的正式组成部分---SwipeRefreshLayout ...

  5. 打造通用的Android下拉刷新组件(适用于ListView、GridView等各类View)

    前言 近期在做项目时,使用了一个开源的下拉刷新ListView组件.极其的不稳定,bug还多.稳定的组件又写得太复杂了,jar包较大.在我的一篇博客中也讲述过下拉刷新的实现,即Android打造(Li ...

  6. Android打造(ListView、GridView等)通用的下拉刷新、上拉自动加载的组件

    原文 http://blog.csdn.net/bboyfeiyu/article/details/39253051       前言 下 拉刷新组件在开发中使用率是非常高的,基本上联网的APP都会采 ...

  7. Android利用V4包中的SwipeRefreshLayout实现上拉加载

    基本原理 上拉加载或者说滚动到底部时自动加载,都是通过判断是否滚动到了ListView或者其他View的底部,然后触发相应的操作,这里我们以 ListView来说明.因此我们需要在监听ListView ...

  8. android——官方下拉刷新组件SwipeRefreshLayout(转)

    一.问题描述 在android开发中,使用最多的数据刷新方式就是下拉刷新了,而完成此功能我们使用最多的就是第三方的开源库PullToRefresh.现如今,google也忍不住推出了自己的下拉组件Sw ...

  9. android之官方下拉刷新组件SwipeRefreshLayout

    1.setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener):设置手势滑动监听器. 2.setProgressBackgr ...

随机推荐

  1. Maker's Schedule, Manager's Schedule

    http://www.paulgraham.com/makersschedule.html manager's schedule 随意性强,指随时安排会面,开会等活动的 schedule; maker ...

  2. 【Android】常见问题解答

    这里汇总了用C#和VS2015开发Android App时一些常见的最基本的问题及解决办法,以后有新的问题时都在这里一并回答. 问题1:项目无法正常运行,怎么回事? [解答] 正常情况下,选择某个模拟 ...

  3. SourceInsight-显示文件完整路径

    使用Source insight的时候想看文件的全路径,但是默认的是中间省略的路径,所以可以通过: 1.Options-->Preferences-->Display 设置Trim lon ...

  4. 解决Git在Linux 乱码问题

    在Linux如果要提交的文件名是中文的,默认git commit的时候就会把中文显示为一串数字如下: create mode "\346\265\213\350\257\225" ...

  5. angular学习笔记(五)-阶乘计算实例(2)

    <!DOCTYPE html> <html ng-app> <head> <title>2.3.3计算阶乘实例2</title> <m ...

  6. How do I create a List in Scala?

    Scala List class FAQ: How do I create a List in Scala? You can create a Scala List in several differ ...

  7. Frosh Week

    Problem Description During Frosh Week, students play various fun games to get to know each other and ...

  8. 一款纯css3实现的图片3D翻转幻灯片

    之前介绍了好多款网页幻灯片,今天要给大家再带来一款纯css3实现的图片3D翻转幻灯片.这款幻灯片图片轮播采用了3D翻转的形式,效果非常不错.一起看下效果图: 在线预览   源码下载 实现的代码. ht ...

  9. phalcon分页的处理

    由于项目是用phalcon做的,主要是处理api,也做些简单的web页面. 有一个页面是显示日志的,结果后来日志达到几万条后php内存爆了,查了一下代码, 居然是直接读出所有数据库数据,使用的\Pha ...

  10. egret升级经验记录

    1.StageDelegate.setDesignSize ; 直接去掉,在3.x里是直接在index.html里设置如: data-content-width="960" dat ...