安卓下拉刷新空间SwipeRefreshLayout的基本使用
1.先写布局文件
- <android.support.v4.widget.SwipeRefreshLayout
- android:id="@+id/refresh"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <android.support.v7.widget.RecyclerView
- android:id="@+id/my_recycler_view"
- android:scrollbars="vertical"
- android:layout_width="match_parent"
- android:layout_height="match_parent"/>
- </android.support.v4.widget.SwipeRefreshLayout>
2.mainactivity
- public class MainActivity extends AppCompatActivity {
- private OkHttpHelper httpHelper =OkHttpHelper.getInstance();
- private SwipeRefreshLayout swipeRefreshLayout;
- @ViewInject(R.id.tv)
- private TextView tv;
- private RecyclerView mRecyclerView;
- private ArrayList<String> mDatas=new ArrayList<>();
- private MyAdapter myAdapter;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- mRecyclerView = findViewById(R.id.my_recycler_view);
- initDatas();
- myAdapter =new MyAdapter(mDatas);
- mRecyclerView.setAdapter(myAdapter);
- mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
- //mRecyclerView.setLayoutManager(new GridLayoutManager(this,4));
- // mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(4,StaggeredGridLayoutManager.HORIZONTAL));
- //配置分割线
- mRecyclerView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL_LIST));
- //事件监听
- int size =mDatas.size();
- //添加数据到头部
- myAdapter.addData(size,"adddddddddd");
- //删除数据
- myAdapter.removeData();
- swipeRefreshLayout = findViewById(R.id.refresh);
- initRefreshLayout();
- }
- private void initRefreshLayout(){
- //转的圈圈的颜色
- swipeRefreshLayout.setColorSchemeResources(R.color.colorPrimary);
- swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- Log.d(TAG, "onRefresh: "+swipeRefreshLayout.isRefreshing());
- new Handler().postDelayed(new Runnable() {
- @Override
- public void run() {
- for(int i=;i<=;i++){
- myAdapter.addData(i,"new"+i);
- }
- myAdapter.notifyItemRangeChanged(,);
- mRecyclerView.scrollToPosition();
- //刷新完成,必须调用,否则会一直是圈圈转转的情况
- swipeRefreshLayout.setRefreshing(false);
- }
- },);
- }
- });
- }
- private static final String TAG = "MainActivity";
- private void initDatas(){
- mDatas.add("aa");
- mDatas.add("cv");
- mDatas.add("cv1");
- mDatas.add("cv112");
- mDatas.add("cv112");
- mDatas.add("cv112");
- mDatas.add("cv112");
- mDatas.add("cv112");
- mDatas.add("cv112");
- mDatas.add("cv112");
- mDatas.add("cv112");
- mDatas.add("cv112");
- mDatas.add("cv112");
- mDatas.add("cv112");
- }
- }
安卓下拉刷新空间SwipeRefreshLayout的基本使用的更多相关文章
- Google自己的下拉刷新组件SwipeRefreshLayout
SwipeRefreshLayout SwipeRefreshLayout字面意思就是下拉刷新的布局,继承自ViewGroup,在support v4兼容包下,但必须把你的support librar ...
- android之官方下拉刷新组件SwipeRefreshLayout
1.setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener):设置手势滑动监听器. 2.setProgressBackgr ...
- Android内置下拉刷新组件SwipeRefreshLayout
也许下拉刷新之前,你可能会使用一些第三方的开源库,例如PullToRefresh, ActionBar-PullToRefresh等待,但现在有的正式组成部分---SwipeRefreshLayout ...
- android——官方下拉刷新组件SwipeRefreshLayout(转)
一.问题描述 在android开发中,使用最多的数据刷新方式就是下拉刷新了,而完成此功能我们使用最多的就是第三方的开源库PullToRefresh.现如今,google也忍不住推出了自己的下拉组件Sw ...
- Google官方下拉刷新组件---SwipeRefreshLayout
今天在Google+上看到了SwipeRefreshLayout这个名词,遂搜索了下,发现竟然是刚刚google更新sdk新增加的一个widget,于是赶紧抢先体验学习下. SwipeRefreshL ...
- 安卓---下拉刷新---上拉加载---解决导入library等自生成库文件失败的问题
本文的下拉刷新以及上拉加载都是用PullToRefresh实现的,关于PullToRefresh的介绍以及源码,网上可以找到很多,本人在此不再赘述. PullToRefresh是一套实现非常好的下拉刷 ...
- Android控件(一)下拉刷新:SwipeRefreshLayout
须要注意的是SwipeRefreshLayout以下仅仅能够有一个直接子节点. 布局文件例如以下. <FrameLayout xmlns:android="http://schemas ...
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
下拉刷新和上拉刷新都用SwipeRefreshLayout 自带的进度条 布局 <?xml version="1.0" encoding="utf-8"? ...
- google推出的SwipeRefreshLayout下拉刷新用法
使用如下: 1.先下载android-support-v4.jar最新版本,之前的版本是没有SwipeRefreshLayout下拉刷新控件的,如果已经更新,此步骤可省略. 2.在xml文件中引用an ...
随机推荐
- 基于jQuery的2048小游戏设计(网页版)
上周模仿一个2048小游戏,总结一下自己在编写代码的时候遇到的一些坑. 游戏规则:省略,我想大部分人都玩过,不写了 源码地址:https://github.com/xinhua6/2048game.g ...
- mysql学习第三天练习(多表连接)
-- 多表连接 -- 写一条查询语句,查询员工姓名.部门名称.工作地点 select ename,dname,loc from emp,dept where emp.deptno = dept.dep ...
- Git的使用规范(二)
今天,我们来介绍一下git的一些命令行,来帮我们后面可以面对一些情况的时候,我们可以有一些解决的方法 1.git查看历史记录最全的命令行 git log --pretty=raw 2.对于一下的几个情 ...
- Java集合类面试题
java.util包中包含了一系列重要的集合类,而对于集合类,主要需要掌握的就是它的内部结构,以及遍历集合的迭代模式. 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最 ...
- thrift 调取 python php go 客户端代码
golang package main import ( "fmt" "git.apache.org/thrift.git/lib/go/thrift" &qu ...
- c++ combination by next_permutation
#include <iostream> #include <algorithm> #include <vector> int main() { int n, r; ...
- idea在Maven Projects中显示灰色的解决办法
问题描述: 在使用idea的过程中,遇到其中一个maven模块变成灰色,如下所示: 问题解决: 造成这个的原因可能是忽略了maven模块. 可以尝试如下解决方法:在idea中进入Settings–&g ...
- Sublime Text 3配置 Python3 开发环境
来自 https://www.cnblogs.com/zhangqinwei/p/6886600.html Sublime Text作为一款支持多种编程语言的文本编辑神器,深受广大开发者的喜爱.通过简 ...
- POJ 2168 Joke with Turtles(DP)
Description There is a famous joke-riddle for children: Three turtles are crawling along a road. One ...
- css3弹性盒子模型之box-flex
css3弹性盒子模型之box-flex 浏览器支持 目前没有浏览器支持 box-flex 属性. Firefox 支持替代的 -moz-box-flex 属性. Safari.Opera 以及 Chr ...