大家都知道,在我们调用ListView的addFooterView()方法给List增加一个页脚时,如果列表内容很多,超过了屏幕大小,那么页脚就看不到了,可我们一般想要的效果是如下图所示的,在ListView的内容超过屏幕时,页脚还在屏幕的底部。
本文将介绍上图所示的ListView效果,同时介绍一下在android中如何实现渐变效果,就像上图中的页眉页脚的背景色一样。
实现上面的效果主要使用几个RelativeLayout标签和ListView组合即可,main.xml 代码如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout android:id="@+id/listHeader"
android:background="@drawable/jbshape"
android:layout_alignParentTop="true"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:text="文本居中显示"
android:textColor="#ff0000"
android:textSize="18dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" />
</RelativeLayout>
<RelativeLayout android:id="@+id/listFooter"
android:background="@drawable/jbshape"
android:gravity="center_horizontal"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<Button android:id="@+id/prePage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一页"
android:layout_alignParentLeft="true" />
<Button
android:layout_width="wrap_content"
android:layout_gravity="right"
android:layout_height="wrap_content"
android:text="下一页"
android:layout_toRightOf="@id/prePage" />
</RelativeLayout>
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/listHeader"
android:layout_above="@id/listFooter"/>
<TextView android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Not Data yet!"/>
</RelativeLayout>
几个关键点:
1、在页眉(id为listHeader)使用属性android:layout_alignParentTop=”true”, 声明页眉部分与父视图的顶部对齐。
2、在页脚(id为listFooter)使用属性android:layout_alignParentBottom=”true” 声明其与父视图的底部对齐。
3、在 ListView中使用属性android:layout_below=”@id/listHeader” android:layout_above=”@id/listFooter” 声明ListView位于listHeader的下方,位于listFooter的上方。
这样我们的页眉页脚效果就实现了。
再来看看是怎么实现渐变的?
我们在res/drawable目录下新建一个叫jbshape.xml的文件,内容如下所示:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#509245" android:centerColor="#3e8532"
android:endColor="#509245" android:type="linear" android:angle="90"
android:centerX="0.5" android:centerY="0.5" />
<padding android:left="7dp" android:top="7dp" android:right="7dp"
android:bottom="7dp" />
<corners android:radius="4dp" />
</shape>
这里就不多讲了,相信你一看就能看懂,android:shape 配置的是图形的形式,主要包括方形、圆形等,本例中为方形。gradient节点主要配置起点颜色、终点颜色、中间点的坐标、中间点的颜色、渐变角度(90度为上下渐变,0为左右渐变),padding节点主要配置上下左右边距,corners节点配置四周园角的半径。
android/sdk/docs/guide/topics/resources/drawable-resource.html 中有具体设置.
使用渐变就更简单了,如第一部分代码中所示的,直接用android:background=”@drawable/jbshape” 配置背景为刚才配置的渐变图形即可。
分享到:
相关推荐
`ListView页眉页脚效果`是指在ListView的顶部和底部添加自定义视图,通常用于显示广告、提示信息或者分隔不同数据集。本篇将详细介绍如何实现ListView的页眉(Header)和页脚(Footer)效果。 首先,我们需要理解...
2. **添加渐变效果**:在drawable资源文件中定义渐变背景。 ```xml android:startColor="#FF0000" android:endColor="#00FF00" android:angle="90" /> ``` 3. **模糊处理**:使用第三方库如BlurKit或...
这通常通过计算ListView的`count`属性与可见项数量的差值来实现。 4. **页脚组件**: 创建一个用于显示加载状态的页脚组件,比如一个简单的文本或进度条。在页脚组件中,我们可以显示“加载中”、“加载完毕”或...
在标题“listview页面页脚的应用及动画效果”中,我们关注的重点是ListView的Footer View和与其相关的动画效果。Footer View通常用于添加额外的操作区域,比如加载更多、设置按钮等。在此场景下,描述提到了点击item...
本文将深入探讨如何自定义ListView的选择和鼠标悬停时的行背景颜色,以及如何通过MVVM(Model-View-ViewModel)模式来实现这一目标。 首先,我们要了解ListView的基本工作原理。ListView通过ItemsControl的子类实现...
标题“listview实现表格效果,带表格线”表明我们要讨论的是如何利用ListView来模拟表格布局,并添加分割线以清晰地展示每个单元格的边界。 首先,我们要理解ListView的基本结构。ListView由多个ListView项...
我们常见的androidlistview 都是整体改变背景颜色,我今天上传的是 动态改变listview 其中一条或者多条的背景颜色,以及改变item的颜色。 不需要添加list的点击事件 就可以完成。
9. **ListView与RecyclerView的区别**:虽然RecyclerView是现代Android开发更推荐的列表组件,但理解ListView的原理有助于理解RecyclerView的工作机制。 10. **性能优化**:包括合理使用convertView复用,避免大量...
标题"listview保留选中效果2"表明我们要探讨的是如何在ListView滚动时仍能保持所选项目的高亮状态,即选中效果不因滚动而消失。描述中的"listview保留选中效果2"进一步强调了这是对之前讨论的延续或改进。 要实现...
本知识点主要探讨如何实现“滑动ListView时标题置顶”和“ListView吸顶效果”,以及如何使安卓系统状态栏透明化。这些功能可以为用户带来更流畅、更具吸引力的交互体验。 首先,滑动ListView时标题置顶的效果通常被...
安卓app开发项目-ListView上下翻页效果(源码).zip安卓app开发项目-ListView上下翻页效果(源码).zip安卓app开发项目-ListView上下翻页效果(源码).zip安卓app开发项目-ListView上下翻页效果(源码).zip安卓app开发项目-...
"与圆角ListView类似的效果"就是一个这样的尝试,它通过使用TextView模拟了ListView的展示方式,并添加了圆角以及点击效果。下面将详细探讨如何实现这样的功能。 首先,我们来理解"圆角ListView"的概念。传统的...
而如果需要更复杂的布局效果,如渐变、圆角或动画,ItemDecoration可能更为合适。记得在实际应用中,考虑到性能优化,避免在`getView()`方法中执行过于复杂的操作,以及合理利用缓存,以提高ListView的滚动流畅性。 ...
ListView的核心在于Adapter,它负责将数据与视图进行绑定。要实现高级显示效果,我们需要自定义Adapter,通常继承自BaseAdapter。自定义Adapter需要重写以下方法: 1. `getCount()`: 返回ListView的项数。 2. `...
当用户与列表交互时,为了提供良好的用户体验,通常需要实现点击项时的视觉反馈,比如改变item的背景颜色。本实例“android listview item背景色点击效果”正是针对这一需求进行的开发。 在Android中,ListView的每...
ListView自绘,缩略图模式查看,去掉选中后的背景色,与WINDOWS一样的查看效果
本文将深入探讨如何在ListView中实现上下翻页效果,这通常涉及到数据加载策略、滚动监听以及适配器的巧妙使用。 首先,我们要理解ListView的基本工作原理。ListView通过复用已创建的View来提高性能,这就是著名的...
"Listview 滑动 贴合效果"是指在用户滑动ListView时,能够使某一个列表项始终贴合在屏幕的顶端,这通常应用于实现类似“置顶”或“固定头部”的功能。这种效果可以提高用户体验,让用户更容易关注到特定的列表项,...