[Android]笔记13:改变分割条、基于数据的ListView

ListView是手机系统中使用非常广泛的一种组件,它以垂直列表的形式显示所有列表项。生成列表视图如下两种方式。

  • 直接使用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 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...