• Android控件(一)下拉刷新:SwipeRefreshLayout


    须要注意的是SwipeRefreshLayout以下仅仅能够有一个直接子节点。

    布局文件例如以下。

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:ignore="MergeRootFrame" >
        <android.support.v4.widget.SwipeRefreshLayout
            android:id="@+id/swipe_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
            <ListView
                android:id="@+id/list"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >
            </ListView>
        </android.support.v4.widget.SwipeRefreshLayout>
    </FrameLayout>

    主程序例如以下:

    package com.francis.swiperefreshlayouttest;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Handler;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.support.v4.widget.SwipeRefreshLayout;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    
    // 布局文件下。<android.support.v4.widget.SwipeRefreshLayout> 仅仅能有一个直接的子类
    //
    // 主要方法
    //        setOnRefreshListener(OnRefreshListener): 为布局加入一个Listener
    //        setRefreshing(boolean): 显示或隐藏刷新进度条
    //        isRefreshing(): 检查是否处于刷新状态
    //        setColorSchemeResource(): 设置进度条的颜色主题。最多能设置四种
    
    
    public class MyActivity extends Activity implements SwipeRefreshLayout.OnRefreshListener{
        private SwipeRefreshLayout mSwipeLayout;
        private ListView mListView;
        private ArrayAdapter<String> mArrayAdapter;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my);
            String[] strings = new String[] {"a","b","c","d"};
            mArrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,strings);
            mSwipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container);
            mSwipeLayout.setOnRefreshListener(this);
            //载入颜色是循环播放的。仅仅要没有完毕刷新就会一直循环,color1>color2>color3>color4
            mSwipeLayout.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);
            mListView = (ListView)findViewById(R.id.list);
            mListView.setAdapter(mArrayAdapter);
        }
    
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.my, menu);
            return true;
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
    
            if (id == R.id.action_grid_view) {
                startActivity(new Intent(MyActivity.this,GridViewTest.class));
            }
            return super.onOptionsItemSelected(item);
        }
    
        @Override
        public void onRefresh() {
    
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    // 停止刷新
                    mSwipeLayout.setRefreshing(false);
    
                }
            }, 3000);
    
        }
    }
    


  • 相关阅读:
    【转载】webDriver拾级而上·之五 iframe的处理
    Linux课程笔记 用户和用户组管理
    Linux课程笔记 文件和目录权限
    Linux课程笔记 软硬链接
    Java算法面试题
    Linux课程笔记 Day09 课上内容总结 MySql,Php的安装及Apache,Nginx,Php的优化
    Day13 高级子查询
    Day12 SET运算符
    Day11 其他数据库对象
    Linux课程笔记 Day08 课上内容总结 Apache,Raid技术及Nginx
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5275071.html
Copyright © 2020-2023  润新知