Android入门——UI(9)
SwipRefreshLayout下拉刷新控件
- <?xml version="1.0" encoding="utf-8"?>
- <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="match_parent"
- android:layout_height="match_parent" android:id="@+id/swip_refresh_layout">
- <ListView
- android:id="@+id/my_list_view_refresh"
- android:layout_width="match_parent"
- android:layout_height="match_parent"></ListView>
- </android.support.v4.widget.SwipeRefreshLayout>
swip_refresh_layout_index.xml
- package com.ouc.wkp.ui1;
- import android.app.Activity;
- import android.graphics.Color;
- import android.os.Bundle;
- import android.os.Handler;
- import android.support.v4.widget.SwipeRefreshLayout;
- import android.widget.ArrayAdapter;
- import android.widget.ListView;
- import android.widget.Toast;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * Created by wkp on 2016/8/25.
- */
- public class SwipRefreshLayoutDemo extends Activity {
- SwipeRefreshLayout swipeRefreshLayout;
- ListView listView;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.swip_refresh_layout_index);
- swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swip_refresh_layout);
- listView = (ListView) findViewById(R.id.my_list_view_refresh);
- final List<String> dataList = new ArrayList<>();
- for (int i = 0; i < 30; i++) {
- dataList.add(i + "");
- }
- final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, dataList);
- listView.setAdapter(adapter)
- ;
- swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- new Handler().postDelayed(new Runnable() {
- @Override
- public void run() {
- //true点击后变成刷新状态
- swipeRefreshLayout.setRefreshing(false);
- Toast.makeText(SwipRefreshLayoutDemo.this, "加载完成", Toast.LENGTH_SHORT).show();
- for (int i = 0; i < 20; i++) {
- dataList.add("新加的数据" + i);
- }
- adapter.notifyDataSetChanged();
- }
- }, 2000);
- }
- });
- swipeRefreshLayout.setColorSchemeColors(Color.RED, Color.GREEN, Color.BLUE, Color.GRAY);
- swipeRefreshLayout.setProgressViewOffset(false,200,300);
- }
- }
SwipRefreshLayout.java
DrawerLayout侧滑控制菜单
- <?xml version="1.0" encoding="utf-8"?>
- <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
- <!--第一个子View会作为内容显示区-->
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:text="你所需要显示的内容" />
- </LinearLayout>
- <!--第二个子View会作为侧滑菜单-->
- <!--android:layout_gravity="start" end left right-->
- <LinearLayout
- android:layout_width="150dp"
- android:layout_height="match_parent"
- android:layout_gravity="left"
- android:background="@android:color/white">
- <ListView
- android:id="@+id/list_view"
- android:layout_width="150dp"
- android:layout_height="match_parent">
- </ListView>
- </LinearLayout>
- <LinearLayout
- android:layout_width="150dp"
- android:layout_height="match_parent"
- android:layout_gravity="right"
- android:background="@android:color/white"
- android:orientation="vertical">
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="退出登录"/>
- </LinearLayout>
- </android.support.v4.widget.DrawerLayout>
drawer_layout_index.xml
- package com.ouc.wkp.ui1;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.ArrayAdapter;
- import android.widget.ListView;
- import java.util.List;
- /**
- * Created by wkp on 2016/8/25.
- */
- public class DrawerLayoutDemo extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.drawer_layout_index);
- ListView listView = (ListView) findViewById(R.id.list_view);
- ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, new String[]{"菜单1", "菜单2", "菜单3", "菜单4", "菜单5"});
- listView.setAdapter(adapter);
- }
- }
DrawerLayoutDemo.java
RecyclerView循环复用控件
首先在这个文件最下面添加一行,注意版本和倒数第二行对应。
这个控件有点复杂
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
- <android.support.v7.widget.RecyclerView
- android:id="@+id/recycler_view"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
- </LinearLayout>
recycler_view_index.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="100dp"
- android:layout_height="60dp">
- <TextView
- android:id="@+id/text_view"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
- </LinearLayout>
item_view_recyclerview.xml
- package com.ouc.wkp.ui1;
- import android.app.Activity;
- import android.os.Bundle;
- import android.support.v7.widget.GridLayoutManager;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.TextView;
- /**
- * Created by wkp on 2016/8/26.
- */
- public class RecyclerViewDemo extends Activity {
- RecyclerView recyclerView;
- String[] dataArr = {"第0项", "第1项", "第2项",
- "第0项", "第1项", "第2项",
- "第0项", "第1项", "第2项",
- "第0项", "第1项", "第2项",
- "第0项", "第1项", "第2项",
- };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.recycler_view_index);
- recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
- //true进行反转
- LinearLayoutManager layoutManager = new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false);
- //layoutManager
- recyclerView.setLayoutManager(new GridLayoutManager(this,3));
- MyAdapter adapter = new MyAdapter();
- recyclerView.setAdapter(adapter);
- }
- private class MyAdapter extends RecyclerView.Adapter {
- @Override
- public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- //parent表示继承父类 false不能少
- View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_view_recyclerview, parent, false);
- MyViewHolder viewHolder = new MyViewHolder(itemView);
- return viewHolder;
- }
- @Override
- public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
- ((MyViewHolder) holder).textView.setText("编号:" + position);
- }
- @Override
- public int getItemCount() {
- return dataArr.length;
- }
- private class MyViewHolder extends RecyclerView.ViewHolder {
- private TextView textView;
- public MyViewHolder(View itemView) {
- super(itemView);
- textView = (TextView) itemView.findViewById(R.id.text_view);
- }
- }
- }
- }
RecyclerViewDemo.java
Android入门——UI(9)的更多相关文章
- Android入门——UI(8)——Fragment(2)
先演示一下如何在一个activity中放置两个Fragment,先定义两个Fragment <?xml version="1.0" encoding="utf-8& ...
- Android入门——UI(7)——Fragment
先上fragment静态加载的代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...
- android入门——UI(6)——ViewPager+Menu+PopupWindow
一.使用ViewPager开发新特性引导界面 <?xml version="1.0" encoding="utf-8"?> <Relative ...
- android入门——UI(5)
最近时间实在匆忙,博客的代码基本没有解释. 介绍ExpandableListView <?xml version="1.0" encoding="utf-8&quo ...
- android入门——UI(4)
GridView控件实现菜单 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...
- android入门——UI(3)
Spinner控件 ListView控件 一.Spinner控件 点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner选择一个新值. 有两种指定数据源的 ...
- Android入门——UI(2)
介绍SeekBar拖动条控件.ProgressBar进度条控件.DatePicker日历控件.TimePicker时间控件 <?xml version="1.0" encod ...
- android入门——UI(1)
一.使用TextView ImageView Button EditView做出登录页面 <?xml version="1.0" encoding="utf-8&q ...
- 【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity
问:达叔,你放弃了吗? 答:不,放弃是不可能的,丢了Android,你会心疼吗?如果别人把你丢掉,你是痛苦呢?还是痛苦呢?~ 引导语 有人说,爱上一个人是痛苦的,有人说,喜欢一个人是幸福的. 人与人之 ...
随机推荐
- ID3算法 决策树 C++实现
人工智能课的实验. 数据结构:多叉树 这个实验我写了好久,开始的时候从数据的读入和表示入手,写到递归建树的部分时遇到了瓶颈,更新样例集和属性集的办法过于繁琐: 于是参考网上的代码后重新写,建立决策树类 ...
- linux下可以和qq截屏比拟的工具hotshots
可以区域截图,并且对其进行编辑. 安装过程如下: sudo add-apt-repository ppa:ubuntuhandbook1/apps sudo apt-get update sudo a ...
- JAVA Socket地址绑定
Socket常用有惨构造方法有如下: Socket(InetAddress address, int port) Socket(InetAddress address, int port, InetA ...
- js(1)不太注意的一些小事件
确认选择 除了向用户提供信息,我们还希望从用户那里获得信息.这里就用到了confirm 消息对话框. 语法:confirm(str); 参数说明: str: 在消息对话框中要显示的文本,返回的是布尔值 ...
- 如何灵活利用免费开源图标字体-IcoMoon篇
http://www.zhangxinxu.com/wordpress/2012/06/free-icon-font-usage-icomoon/
- zoj 1067
输入一组RGB颜色列表,每行一个颜色,是三个从0~255的整数 前16行是目标颜色组,-1 -1 -1表示结束 16组颜色以后接下来的几行是需要判断的,看它和哪个颜色的距离D最小,找出这个对应的颜 ...
- update语句的执行步骤及commit语句的执行顺序
update语句的执行步骤和其他DML语句的执行步骤是一样的包含insert .delete语句等,执行步骤如下: 一.如果数据和回滚数据不在数据库高速缓存区中,则oracle服务器进程将把他们从数据 ...
- Android_Dialog cancle 和dismiss 区别
AlertDialog使用很方便,但是有一个问题就是:dismiss方法和cancel方法到底有什么不同? AlertDialog继承与Dialog,现在各位看看结构图: 然后在Dialog类中找到了 ...
- 用include()和ob_get_contents( )方法 生成静态文件
1. 生成静态文件可以在打开缓冲区的前提下,用include()方法去包含要执行的动态文件,这样该动态文件就会在缓冲区中执行,执行完毕后的静态HTML代码就保存在缓冲区中,然后用ob_get_cont ...
- struts2笔记10-值栈
1.问题 提交页面: <h4>注册产品</h4> <form action="save.do" method="post"> ...