[Android]笔记13:改变分割条、基于数据的ListView
2017-07-04 08:40
204 查看
ListView是手机系统中使用非常广泛的一种组件,它以垂直列表的形式显示所有列表项。生成列表视图如下两种方式。
直接使用ListView进行创建
让Activity继承ListActivity(相当于该Activity显示的组件为ListView)
一旦在程序中获得了ListView之后,接下来就需要为ListView设置它要显示的列表项了。在这一点上,ListView显示出AdapterView的特征:通过SetAdapter(Adapter)方法为之提供Adapter,并由Adapter提供列表项即可。
AbsListView 提供的常用XML属性:
XML:
定义一个ListView,并通过android:entries 指定了列表项数组,该ListView还通过android:divider改变了列表项之间的分割条。
指定了android:entries=”@array/books”,该属性值用到了数组资源,因此还需要在运用中定义一个名为books的数组
直接使用ListView进行创建
让Activity继承ListActivity(相当于该Activity显示的组件为ListView)
一旦在程序中获得了ListView之后,接下来就需要为ListView设置它要显示的列表项了。在这一点上,ListView显示出AdapterView的特征:通过SetAdapter(Adapter)方法为之提供Adapter,并由Adapter提供列表项即可。
AbsListView 提供的常用XML属性:
android:cacheColorHint// 表明这个列表的背景始终以单一、固定的颜色绘制,可以优化绘制过程。 android:choiceMode//为视图指定选择的行为。可选的类型有:none、singleChoice、multipleChoice、multipleChoiceModal。 android:drawSelectorOnTop// 若设为true,选择器将绘制在选中条目的上层。默认为false。 android:fastScrollEnabled// 设置是否允许使用快速滚动滑块。 android:listSelector// 设置选中项显示的可绘制对象,可以是图片或者颜色属性。 android:scrollingCache// 设置在滚动时是否使用绘制缓存。若设为true,则将使滚动表现更快速,但会占用更内存。默认为true。 android:smoothScrollbar// 为真时,列表会使用更精确的基于条目在屏幕上的可见像素高度的计算方法。默认该属性为真, 如果你的适配器需要绘制可变高的条目,他应该设为假。当该属性为真时, 你在适配器在显示变高条目时,滚动条的把手会在滚动的过程中改变大小。当设为假时,列表只使用适配器中的条目数和屏幕上的可见条目来决定滚动条的属性。 android:stackFromBottom// 设置GridView和ListView是否将内容从底部开始显示。 android:textFilterEnabled// 当设为真时,列表会将结果过滤为用户类型。前提是这个列表的Adapter必须支持Filterable接口。 android:transcriptMode//设置列表的transcriptMode.有如下选项可选: //(1)disabled 禁用TranscriptMode,也是默认值; //(2)normal 当新条目添加进列表中并且已经准备好显示的时候,列表会自动滑动到底部以显示最新条目; //(3)alwaysScroll 列表会自动滑动到底部,无论新条目是否已经准备好显示.
XML:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.dezai.simplelistviewtest.MainActivity"> <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/books" android:divider="#f00" android:dividerHeight="2px" android:headerDividersEnabled="false"> </ListView> </LinearLayout>
定义一个ListView,并通过android:entries 指定了列表项数组,该ListView还通过android:divider改变了列表项之间的分割条。
指定了android:entries=”@array/books”,该属性值用到了数组资源,因此还需要在运用中定义一个名为books的数组
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="books"> <item>疯狂JAVA讲义</item> <item>疯狂Ajax讲义</item> <item>疯狂XML讲义</item> <item>疯狂android讲义</item> </string-array> </resources>
相关文章推荐
- 学习笔记-Android之ListView随EditText输入内容动态改变
- Android异步加载学习笔记之二:实现ListView中的图片数据从网络加载
- 【Android笔记-异常-4】定义一个临时的数组变量承接数据,ListView的数据以及通知数据更新要放到同一个线程(主线程)。避免出现异常"The content of the adapter
- 打造Android数据绑定暂时基于AbsListView的派生类(ListView和GridView)
- ANDROID笔记:基于handle的异步请求网络数据的一种方法
- Android应用中使用ListView实现数据列表显示(传智播客视频笔记)
- Android 代码模拟ListView item的点击事件并且改变背景颜色(笔记)
- Android笔记 -- Adapter数据变化改变现有View的实现原理及案例
- Android笔记 -- Adapter数据变化改变现有View的实现原理及案例
- Android笔记:ListView 显示(数据变化后滚动到)最底部。
- Android(java)学习笔记186:对ListView等列表组件中数据进行增、删、改操作
- Android应用中使用ListView实现数据列表显示(传智播客视频笔记)
- 【Android笔记】listview点击或选中item改变item样式或背景
- Java基础知识强化之网络编程笔记17:Android网络通信之 使用Http的Post方式读取网络数据(基于HTTP通信技术)
- Android 根据Edittext内容动态改变Listview显示的数据
- Android笔记(4) ---ListView绑定SimpleAdapter适配器并下拉刷新数据
- Android笔记--在切换fragment时,让fragment里的listview实时刷新数据的一种方法
- Java基础知识强化之网络编程笔记16:Android网络通信之 使用Http的Get方式读取网络数据(基于HTTP通信技术)
- Android异步加载学习笔记之三:用AsyncTask实现ListView中的图片数据加载
- Java基础知识强化之网络编程笔记18:Android网络通信之 使用HttpClient的Post / Get 方式读取网络数据(基于HTTP通信技术)