下拉刷新
来源:互联网 发布:网络礼仪的内容 编辑:程序博客网 时间:2024/05/16 07:13
主要是参考 http://blog.csdn.net/lmj623565791/article/details/24521483
关于这个下拉刷新还是比较简单的,就看在实际中怎么用啦 。
下拉刷新使用的时Google原生态的库中的,也不知道为啥总是喜欢这种官方的。
引用的是 android.support.v4.widget.SwipeRefreshLayout;这个类。
总体功能就是下滑一下 数字增加1
1、布局文件
<?xml version="1.0" encoding="utf-8"?><!--<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.hejingzhou.swiperefreshdemo.MainActivity">--><android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipeRefreshLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:addStatesFromChildren="false" android:background="#990033" xmlns:android="http://schemas.android.com/apk/res/android"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:background="#990033" android:text="rrrrrrrrrrrrrrr" android:textSize="40dp" /> </RelativeLayout> </android.support.v4.widget.SwipeRefreshLayout><!--</RelativeLayout>-->
主要就是将所需要的内容用 <android.support.v4.widget.SwipeRefreshLayout>滑动区域控件< android.support.v4.widget.SwipeRefreshLayout/> 这个布局包裹起来就行了。
SwipeRefreshLayout常用方法:
1、setOnRefreshListener(OnRefreshListener listener) 设置下拉监听,当用户下拉的时候会去执行回调
2、setColorSchemeColors(int... colors) 设置 进度条的颜色变化,最多可以设置4种颜色
3、setProgressViewOffset(boolean scale, int start, int end) 调整进度条距离屏幕顶部的距离
4、setRefreshing(boolean refreshing) 设置SwipeRefreshLayout当前是否处于刷新状态,一般是在请求数据的时候设置为true,在数据被加载到View中后,设置为false。
2、MainActivity
package com.example.hejingzhou.swiperefreshdemo;import android.app.Service;import android.os.Message;import android.os.Vibrator;import android.support.v4.widget.SwipeRefreshLayout;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener { private String TAG = getClass().getSimpleName(); private static final int REFERSH_COMPLETE = 0x00;//刷新标志 private SwipeRefreshLayout refreshLayout; private TextView textView; private int i = 0; private android.os.Handler handler = new android.os.Handler() { public void handleMessage(Message msg) { switch (msg.what) { case REFERSH_COMPLETE: Log.i(TAG, "我想吃麻辣烫"); i++; textView.setText("" + i); refreshLayout.setRefreshing(false);//通知小部件,它刷新状态已更改 改成true后刷新箭头刷新后不再回去 break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } /** * 初始化 加载时进行刷新一下数据 */ private void initView() { textView = (TextView) findViewById(R.id.textView); textView.setText("0"); refreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout); refreshLayout.setOnRefreshListener(this); refreshLayout.setColorSchemeResources(R.color.colorPrimary);//colorAccent圆箭头 refreshLayout.setRefreshing(true);//true加载View时刷新 refreshLayout.setProgressViewOffset(true, 20, 30); handler.sendEmptyMessageDelayed(REFERSH_COMPLETE, 500);//首次加载一次线程 refreshLayout.setSize(SwipeRefreshLayout.LARGE);//设置下拉动画的大小就两个值 } @Override public void onRefresh() { shock(100); handler.sendEmptyMessageDelayed(REFERSH_COMPLETE, 2000); } /** * 下拉震动 * 需要添加权限 <uses-permission android:name="android.permission.VIBRATE" /> * * @param time */ private void shock(int time) { //Toast.makeText(getApplicationContext(),"正在刷新数据...",Toast.LENGTH_SHORT).show(); Vibrator vib = (Vibrator) getApplicationContext().getSystemService(Service.VIBRATOR_SERVICE); vib.vibrate(time); }}
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- 下拉刷新
- Linux下python的升级及多版本管理
- Go语言的方法接受者类型用值类型还是指针类型?
- 笨木头的Unity3d地形介绍
- PHP入门学习笔记之—— PHP 类与对象 (上)
- node.js的几种异步控制的方法
- 下拉刷新
- 数据挖掘系列笔记(1):概述
- PHP对大小写敏感问题
- RxJava个人笔记,具象化理解
- 来自郭霖大神的Volley教程
- 学习
- 类的初始化顺序
- Html容器机制说明
- PHP入门学习笔记之—— PHP 类与对象 (中)