SwipRefreshLayout下拉刷新控件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical" android:layout_width="match_parent"
  4. android:layout_height="match_parent" android:id="@+id/swip_refresh_layout">
  5.  
  6. <ListView
  7. android:id="@+id/my_list_view_refresh"
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent"></ListView>
  10. </android.support.v4.widget.SwipeRefreshLayout>

swip_refresh_layout_index.xml

  1. package com.ouc.wkp.ui1;
  2.  
  3. import android.app.Activity;
  4. import android.graphics.Color;
  5. import android.os.Bundle;
  6. import android.os.Handler;
  7. import android.support.v4.widget.SwipeRefreshLayout;
  8. import android.widget.ArrayAdapter;
  9. import android.widget.ListView;
  10. import android.widget.Toast;
  11.  
  12. import java.util.ArrayList;
  13. import java.util.List;
  14.  
  15. /**
  16. * Created by wkp on 2016/8/25.
  17. */
  18. public class SwipRefreshLayoutDemo extends Activity {
  19.  
  20. SwipeRefreshLayout swipeRefreshLayout;
  21. ListView listView;
  22.  
  23. @Override
  24. protected void onCreate(Bundle savedInstanceState) {
  25. super.onCreate(savedInstanceState);
  26. setContentView(R.layout.swip_refresh_layout_index);
  27.  
  28. swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swip_refresh_layout);
  29. listView = (ListView) findViewById(R.id.my_list_view_refresh);
  30.  
  31. final List<String> dataList = new ArrayList<>();
  32. for (int i = 0; i < 30; i++) {
  33. dataList.add(i + "");
  34. }
  35.  
  36. final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, dataList);
  37. listView.setAdapter(adapter)
  38. ;
  39. swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
  40. @Override
  41. public void onRefresh() {
  42. new Handler().postDelayed(new Runnable() {
  43. @Override
  44. public void run() {
  45. //true点击后变成刷新状态
  46. swipeRefreshLayout.setRefreshing(false);
  47. Toast.makeText(SwipRefreshLayoutDemo.this, "加载完成", Toast.LENGTH_SHORT).show();
  48.  
  49. for (int i = 0; i < 20; i++) {
  50. dataList.add("新加的数据" + i);
  51. }
  52. adapter.notifyDataSetChanged();
  53. }
  54. }, 2000);
  55. }
  56. });
  57.  
  58. swipeRefreshLayout.setColorSchemeColors(Color.RED, Color.GREEN, Color.BLUE, Color.GRAY);
  59. swipeRefreshLayout.setProgressViewOffset(false,200,300);
  60. }
  61. }

SwipRefreshLayout.java

DrawerLayout侧滑控制菜单

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical">
  6.  
  7. <!--第一个子View会作为内容显示区-->
  8. <LinearLayout
  9. android:layout_width="match_parent"
  10. android:layout_height="match_parent">
  11.  
  12. <TextView
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"
  15. android:layout_gravity="center"
  16. android:text="你所需要显示的内容" />
  17. </LinearLayout>
  18.  
  19. <!--第二个子View会作为侧滑菜单-->
  20. <!--android:layout_gravity="start" end left right-->
  21. <LinearLayout
  22. android:layout_width="150dp"
  23. android:layout_height="match_parent"
  24. android:layout_gravity="left"
  25. android:background="@android:color/white">
  26.  
  27. <ListView
  28. android:id="@+id/list_view"
  29. android:layout_width="150dp"
  30. android:layout_height="match_parent">
  31. </ListView>
  32. </LinearLayout>
  33.  
  34. <LinearLayout
  35. android:layout_width="150dp"
  36. android:layout_height="match_parent"
  37. android:layout_gravity="right"
  38. android:background="@android:color/white"
  39. android:orientation="vertical">
  40.  
  41. <TextView
  42. android:layout_width="match_parent"
  43. android:layout_height="wrap_content"
  44. android:text="退出登录"/>
  45. </LinearLayout>
  46. </android.support.v4.widget.DrawerLayout>

drawer_layout_index.xml

  1. package com.ouc.wkp.ui1;
  2.  
  3. import android.app.Activity;
  4. import android.os.Bundle;
  5. import android.widget.ArrayAdapter;
  6. import android.widget.ListView;
  7.  
  8. import java.util.List;
  9.  
  10. /**
  11. * Created by wkp on 2016/8/25.
  12. */
  13. public class DrawerLayoutDemo extends Activity {
  14.  
  15. @Override
  16. protected void onCreate(Bundle savedInstanceState) {
  17. super.onCreate(savedInstanceState);
  18. setContentView(R.layout.drawer_layout_index);
  19.  
  20. ListView listView = (ListView) findViewById(R.id.list_view);
  21. ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, new String[]{"菜单1", "菜单2", "菜单3", "菜单4", "菜单5"});
  22. listView.setAdapter(adapter);
  23. }
  24. }

DrawerLayoutDemo.java

RecyclerView循环复用控件

首先在这个文件最下面添加一行,注意版本和倒数第二行对应。

这个控件有点复杂

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical">
  6.  
  7. <android.support.v7.widget.RecyclerView
  8. android:id="@+id/recycler_view"
  9. android:layout_width="match_parent"
  10. android:layout_height="match_parent" />
  11. </LinearLayout>

recycler_view_index.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical" android:layout_width="100dp"
  4. android:layout_height="60dp">
  5.  
  6. <TextView
  7. android:id="@+id/text_view"
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent" />
  10. </LinearLayout>

item_view_recyclerview.xml

  1. package com.ouc.wkp.ui1;
  2.  
  3. import android.app.Activity;
  4. import android.os.Bundle;
  5. import android.support.v7.widget.GridLayoutManager;
  6. import android.support.v7.widget.LinearLayoutManager;
  7. import android.support.v7.widget.RecyclerView;
  8. import android.view.LayoutInflater;
  9. import android.view.View;
  10. import android.view.ViewGroup;
  11. import android.widget.TextView;
  12.  
  13. /**
  14. * Created by wkp on 2016/8/26.
  15. */
  16. public class RecyclerViewDemo extends Activity {
  17.  
  18. RecyclerView recyclerView;
  19. String[] dataArr = {"第0项", "第1项", "第2项",
  20. "第0项", "第1项", "第2项",
  21. "第0项", "第1项", "第2项",
  22. "第0项", "第1项", "第2项",
  23. "第0项", "第1项", "第2项",
  24. };
  25.  
  26. @Override
  27. protected void onCreate(Bundle savedInstanceState) {
  28. super.onCreate(savedInstanceState);
  29. setContentView(R.layout.recycler_view_index);
  30.  
  31. recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
  32.  
  33. //true进行反转
  34. LinearLayoutManager layoutManager = new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false);
  35. //layoutManager
  36. recyclerView.setLayoutManager(new GridLayoutManager(this,3));
  37.  
  38. MyAdapter adapter = new MyAdapter();
  39. recyclerView.setAdapter(adapter);
  40. }
  41.  
  42. private class MyAdapter extends RecyclerView.Adapter {
  43.  
  44. @Override
  45. public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  46.  
  47. //parent表示继承父类 false不能少
  48. View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_view_recyclerview, parent, false);
  49. MyViewHolder viewHolder = new MyViewHolder(itemView);
  50.  
  51. return viewHolder;
  52. }
  53.  
  54. @Override
  55. public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
  56. ((MyViewHolder) holder).textView.setText("编号:" + position);
  57. }
  58.  
  59. @Override
  60. public int getItemCount() {
  61. return dataArr.length;
  62. }
  63.  
  64. private class MyViewHolder extends RecyclerView.ViewHolder {
  65.  
  66. private TextView textView;
  67.  
  68. public MyViewHolder(View itemView) {
  69. super(itemView);
  70. textView = (TextView) itemView.findViewById(R.id.text_view);
  71. }
  72. }
  73. }
  74. }

RecyclerViewDemo.java

Android入门——UI(9)的更多相关文章

  1. Android入门——UI(8)——Fragment(2)

    先演示一下如何在一个activity中放置两个Fragment,先定义两个Fragment <?xml version="1.0" encoding="utf-8& ...

  2. Android入门——UI(7)——Fragment

    先上fragment静态加载的代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...

  3. android入门——UI(6)——ViewPager+Menu+PopupWindow

    一.使用ViewPager开发新特性引导界面 <?xml version="1.0" encoding="utf-8"?> <Relative ...

  4. android入门——UI(5)

    最近时间实在匆忙,博客的代码基本没有解释. 介绍ExpandableListView <?xml version="1.0" encoding="utf-8&quo ...

  5. android入门——UI(4)

    GridView控件实现菜单 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...

  6. android入门——UI(3)

    Spinner控件   ListView控件 一.Spinner控件 点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner选择一个新值. 有两种指定数据源的 ...

  7. Android入门——UI(2)

    介绍SeekBar拖动条控件.ProgressBar进度条控件.DatePicker日历控件.TimePicker时间控件 <?xml version="1.0" encod ...

  8. android入门——UI(1)

    一.使用TextView ImageView Button EditView做出登录页面 <?xml version="1.0" encoding="utf-8&q ...

  9. 【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity

    问:达叔,你放弃了吗? 答:不,放弃是不可能的,丢了Android,你会心疼吗?如果别人把你丢掉,你是痛苦呢?还是痛苦呢?~ 引导语 有人说,爱上一个人是痛苦的,有人说,喜欢一个人是幸福的. 人与人之 ...

随机推荐

  1. ID3算法 决策树 C++实现

    人工智能课的实验. 数据结构:多叉树 这个实验我写了好久,开始的时候从数据的读入和表示入手,写到递归建树的部分时遇到了瓶颈,更新样例集和属性集的办法过于繁琐: 于是参考网上的代码后重新写,建立决策树类 ...

  2. linux下可以和qq截屏比拟的工具hotshots

    可以区域截图,并且对其进行编辑. 安装过程如下: sudo add-apt-repository ppa:ubuntuhandbook1/apps sudo apt-get update sudo a ...

  3. JAVA Socket地址绑定

    Socket常用有惨构造方法有如下: Socket(InetAddress address, int port) Socket(InetAddress address, int port, InetA ...

  4. js(1)不太注意的一些小事件

    确认选择 除了向用户提供信息,我们还希望从用户那里获得信息.这里就用到了confirm 消息对话框. 语法:confirm(str); 参数说明: str: 在消息对话框中要显示的文本,返回的是布尔值 ...

  5. 如何灵活利用免费开源图标字体-IcoMoon篇

    http://www.zhangxinxu.com/wordpress/2012/06/free-icon-font-usage-icomoon/

  6. zoj 1067

    输入一组RGB颜色列表,每行一个颜色,是三个从0~255的整数 前16行是目标颜色组,-1 -1 -1表示结束   16组颜色以后接下来的几行是需要判断的,看它和哪个颜色的距离D最小,找出这个对应的颜 ...

  7. update语句的执行步骤及commit语句的执行顺序

    update语句的执行步骤和其他DML语句的执行步骤是一样的包含insert .delete语句等,执行步骤如下: 一.如果数据和回滚数据不在数据库高速缓存区中,则oracle服务器进程将把他们从数据 ...

  8. Android_Dialog cancle 和dismiss 区别

    AlertDialog使用很方便,但是有一个问题就是:dismiss方法和cancel方法到底有什么不同? AlertDialog继承与Dialog,现在各位看看结构图: 然后在Dialog类中找到了 ...

  9. 用include()和ob_get_contents( )方法 生成静态文件

    1. 生成静态文件可以在打开缓冲区的前提下,用include()方法去包含要执行的动态文件,这样该动态文件就会在缓冲区中执行,执行完毕后的静态HTML代码就保存在缓冲区中,然后用ob_get_cont ...

  10. struts2笔记10-值栈

    1.问题 提交页面: <h4>注册产品</h4> <form action="save.do" method="post"> ...