顶部有一排按钮,最底下还有FooterView的ListView页面
先上效果图: 
下面详细说说这个页面是怎么做出来的:
1、这个页面最下方可以看到一个TAB页签,分别是“主页”、“提及”等等,这个是一个在底部的TAB分页样式,在上一篇博客中已经介绍了
2、这个页面就是“主页”这个子页面,是嵌入到上面说的TAB布局中的。由3个部分组成,分别是最上面的状态栏(包含2个按钮,和一个文本区)、中间的列表、最下方的“更多”按钮(当更多按钮点击时,会加载更多数据,并且出现LOADING提示)
- <?xml version="1.0" encoding="utf-8"?>
- <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent" android:layout_height="fill_parent">
- <LinearLayout android:background="#ffffffff"
- android:layout_width="fill_parent" android:layout_height="fill_parent"
- android:orientation="vertical" />
- <include android:id="@+id/head_line" layout="@layout/head_line"
- android:layout_width="fill_parent" android:layout_height="wrap_content" />
- <ListView android:cacheColorHint="#00000000" android:id="@id/android:list"
- android:layout_width="fill_parent" android:fastScrollEnabled="false"
- android:layout_height="wrap_content" android:paddingTop="45.0dip"
- android:fadingEdge="none" android:paddingBottom="50.0dip"
- android:divider="@drawable/list_divider" android:clipToPadding="false" />
- </FrameLayout>
上面这段代码,就生成了列表,和顶部的状态栏。顶部的状态栏是通过<include>标签引入的
- <RelativeLayout android:background="@drawable/header"
- android:layout_width="fill_parent" android:layout_height="wrap_content"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <Button android:id="@+id/top_btn_left" android:textColor="@color/button_text_selector"
- android:background="@drawable/top_refresh_selector"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_marginLeft="12.0dip" android:layout_alignParentLeft="true"
- android:layout_centerVertical="true" />
- <Button android:id="@+id/top_btn_right" android:textColor="@color/button_text_selector"
- android:background="@drawable/top_edit_selector" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:layout_marginRight="12.0dip"
- android:layout_alignParentRight="true" android:layout_centerVertical="true" />
- <TextView android:id="@+id/top_title" android:textSize="22.0sp"
- android:textColor="@color/head_line_text" android:ellipsize="middle"
- android:gravity="center_horizontal" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:text="@string/user_name"
- android:singleLine="true" android:layout_toLeftOf="@id/top_btn_right"
- android:layout_toRightOf="@id/top_btn_left"
- android:layout_centerInParent="true"
- android:layout_alignWithParentIfMissing="true" />
- </RelativeLayout>
是一个最简单的横向排列布局,就不用多介绍了
3、然后是这个FooterView是怎么添加进来的,看代码
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.home);
- setUpViews();// 设置视图
- setUpListeners();// 设置侦听器
- fillInitData();// 填充初始化数据
- }
- /**
- * 设置视图
- */
- private void setUpViews() {
- listView = getListView();// 得到ListView
- listFooter = (LinearLayout) LayoutInflater.from(this).inflate(
- R.layout.list_footer, null);
- listView.addFooterView(listFooter);// 添加FooterView
- more = (TextView) findViewById(R.id.more);
- loading = (LinearLayout) findViewById(R.id.loading);
- }
通过ListView.addFooterView()方法,来给列表添加一个FooterView,而这个FooterView,也是来自一个layout xml
- <?xml version="1.0" encoding="UTF-8"?>
- <LinearLayout android:layout_width="fill_parent"
- android:layout_height="wrap_content" android:minHeight="?android:listPreferredItemHeight"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <TextView android:textSize="16.0sp" android:textColor="#ff545454"
- android:gravity="center" android:id="@+id/more" android:layout_width="fill_parent"
- android:layout_height="fill_parent" android:text="@string/more" />
- <LinearLayout android:gravity="center"
- android:layout_gravity="center" android:orientation="horizontal"
- android:id="@+id/loading" android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <ProgressBar android:layout_gravity="center_vertical"
- android:id="@+id/footprogress" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:indeterminateBehavior="repeat"
- style="?android:progressBarStyleSmallInverse" />
- <TextView android:textColor="#ff000000" android:gravity="left|center"
- android:padding="3.0px" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:text="@string/loading" />
- </LinearLayout>
- </LinearLayout>
这个FooterView包含一个“更多”的文本框,和一个“读取中”文本框。这里我没弄明白的是,为什么一开始默认只会显示“更多”,读取栏不会显示出来,需要
- more.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- more.setVisibility(View.GONE);
- loading.setVisibility(View.VISIBLE);
- }
- });
这样做,才能让“更多”按钮消失,显示出“读取中”,希望知道的朋友给我讲解一下。
通过上面的代码,就可以做出效果图里的页面了。
顶部有一排按钮,最底下还有FooterView的ListView页面的更多相关文章
- 添加“返回顶部”小图标按钮的JS(JavaScript)代码详解
如何给自己的网站添加方便快捷的"返回顶部"小图标按钮呢?如下图: JS源代码: /** * JavaScript脚本实现回到页面顶部示例 * @param acceleration ...
- Android 一排按钮居中显示
将一排按钮放在LinearLayout中,设置LinearLayout的Android gravity属性为center_vertical(垂直居中)
- js点击button按钮跳转到另一个新页面
点击按钮怎么跳转到另外一个页面呢?我们在网站制作中可能是需要的,因为有时我们需要做这样的效果,尤其是将按钮做成一个图片,而点击图片要跳转到新的页面时,怎么做到呢? 这样的效果可以:onclick=&q ...
- PHP——0128练习相关2——js点击button按钮跳转到另一个新页面
js点击button按钮跳转到另一个新页面 投稿:whsnow 字体:[增加 减小] 类型:转载 时间:2014-10-10我要评论 点击按钮怎么跳转到另外一个页面呢?点击图片要跳转到新的页面时,怎么 ...
- 纯CSS3实现的顶部社会化分享按钮
今天要分享一款纯CSS3实现的社会化分享按钮,它放置在网页的顶部,你可以选择将它固定在网页顶部,这样对用户分享内容就十分方便.这些社会化分享按钮的图标文件来自google和bootstrap的字体文件 ...
- js或jquery实现点击某个按钮或元素显示div,点击页面其他任何地方隐藏div
点击某个元素显示div,点击页面其他任何地方隐藏div,可用javascript和jquery两种方法实现: 一:javascript实现方法技巧<script>//定义stopPropa ...
- jqgrid如何在一个页面点击按钮后,传递参数到新页面
利用 Content/Scripts/dw-framework.js 中的AddTableMenu属性 <div class="Task" style="backg ...
- HTML:一个form表单有两个按钮,分别提交到不同的页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ListCtrl使用指南
http://blog.csdn.net/bqw2008/article/details/2047489 Windows ListCtrl使用技巧1. ListCtrl 风格 LVS_IC ...
随机推荐
- [NOIP2011]聪明的质检员
[问题描述] 小 T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有$n$个矿石,从 1 到$n$逐一编号,每个矿石都有自己的重量$w_i$以及价值$v_i$.检验矿产的流程是: 1. 给 ...
- Codeforces Beta Round #2 C. Commentator problem 模拟退火
C. Commentator problem 题目连接: http://www.codeforces.com/contest/2/problem/C Description The Olympic G ...
- Codeforces Round #114 (Div. 1) D. Wizards and Roads 笛卡尔树+树贪心+阅读题
D. Wizards and Roads 题目连接: http://www.codeforces.com/contest/167/problem/D Description In some count ...
- HDU 4584 Building bridges (水题)
Building bridges Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) ...
- 使用Busybox制作CRAMFS文件系统成功
转:http://www.360doc.com/content/11/1013/22/7775902_155877501.shtml 这几天在使用Busybox制作FS2410开发板的CRAMFS文件 ...
- SQL Server 2008数据库备份和还原(还原是必须有完整备份)
转自lwccc, SQLserver2008数据库备份和还原问题(还原是必须有完整备份) 首先,我要说明的是你必须拥有完整的数据库备份,下面的还原教程,才算有用. 这个连接是某高手的异常恢复方法, 实 ...
- TStringList的DelimitedText的空格问题
TStringList的DelimitedText的空格问题 如果DelimitedText的字符串中有空格,TStringList遇到空格会进行自动换行,而这显然不是我们想要的结果.经测试发现D7~ ...
- Android 花钱 划动手指每天一元钱
花钱(英文ColorMoney)是由上海花动传媒开发的一款免费的应用程序,现支持Android操作系统.安装花钱app后,用户将获得全新的手机锁屏背景图,其中包含各种有趣.唯美的壁纸类图片,亦包含应用 ...
- c#跟objective-c语言特性的对比
拿c#语言跟objective-c做个对比,记录下自己认为是差不多的东西. 学过objc的人相信对category这个东西肯定不陌生,它可以让我们在没有源码的基础上对原先的类添加额外的一些方法,写到这 ...
- 转:超实用的IOS 9人机界面指南(1):UI设计基础 (腾讯力作)
转: http://www.uisdc.com/ios9-interface-guideline-ui