A020-列表容器之ListView,androidndk开发书籍

本文介绍了Android中ListView的详细使用,包括设置属性如:scrollbars、transcriptMode、cacheColorHint等,以及如何创建数据实体类和在Activity中展示ListView。提供了模拟数据和实体类的示例代码。
摘要由CSDN通过智能技术生成

android:scrollbars=“none”

android:fadeScrollbars=“true”

android:transcriptMode=“alwaysScroll”

/>

layout/layout_list_item.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”

android:layout_width=“match_parent”

android:layout_height=“match_parent”

<ImageView

android:id="@+id/iv_head"

android:layout_width=“50dp”

android:layout_height=“50dp”

android:layout_margin=“10dp”

android:src="@drawable/pic_6"

/>

<TextView

android:id="@+id/tv_name"

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_toRightOf="@+id/iv_head"

android:layout_alignTop="@+id/iv_head"

android:textSize=“16sp”

android:text=“凤姐”/>

<TextView

android:id="@+id/tv_desc"

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_toRightOf="@+id/iv_head"

android:layout_below="@+id/tv_name"

android:layout_marginTop=“10dp”

android:textSize=“14sp”

android:text=“你才是一个没有故事的女同学”/>

常用属性说明:

android:cacheColorHint=”#00000000” //设置拖动背景色为透明

android:dividerHeight=”30px” //listview item之间的高度

android:divider=”@drawable/ic_launcher” //listview item之间的背景或者说是颜色

android:fadingEdge=”vertical” //上边和下边有黑色的阴影 值为none的话就没有阴影

android:scrollbars=”horizontal|none” //只有值为horizontal|vertical的时候,才会显示滚动条,并且会自动影藏和显示

android:fastScrollEnabled=”true” //快速滚动效果,配置这个属性,在快速滚动的时候旁边会出现一个小方块的快速滚动效果,自动隐藏和显示,

android:scrollbarStyle=”outsideInset” //四个值的含义如下

1>outsideInset : 该ScrollBar显示在视图(view)的边缘,增加了view的padding. 如果可能的话,该ScrollBar仅仅覆盖这个view的背景.

2>outsideOverlay : 该ScrollBar显示在视图(view)的边缘,不增加view的padding,该ScrollBar将被半透明覆盖

3>insideInset :该ScrollBar显示在padding区域里面,增加了控件的padding区域,该ScrollBar不会和视图的内容重叠.

4>insideOverlay : 该ScrollBar显示在内容区域里面,不会增加了控件的padding区域,该ScrollBar以半透明的样式覆盖在视图(view)的内容上.

首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和false

android:stackFromBottom=”true”

第二是 transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部。 android:transcriptMode=”alwaysScroll”

第三cacheColorHint属性,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android:background=”@drawable/bg”,不过不要高兴地太早,当你这么做以后,发现背景是变了,但是当你拖动,或者点击list空白位置的时候发现ListItem都变成黑色的了,破坏了整体效果。

如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的颜色,如果你是用图片做背景的话,那也只要将android:cacheColorHint指定为透明(#00000000)就可以了

第四divider属性,该属性作用是每一项之间需要设置一个图片做为间隔,或是去掉item之间的分割线

android:divider=”@drawable/list_driver” 其中 @drawable/list_driver 是一个图片资源,如果不想显示分割线则只要设置为android:divider=”@drawable/@null” 就可以了

第五fadingEdge属性,上边和下边有黑色的阴影

android:fadingEdge=”none” 设置后没有阴影了~

第六scrollbars属性,作用是隐藏listView的滚动条,

android:scrollbars=”none”与setVerticalScrollBarEnabled(true);的效果是一样的,不活动的时候隐藏,活动的时候也隐藏

第七fadeScrollbars属性,android:fadeScrollbars=”true” 配置ListView布局的时候,设置这个属性为true就可以实现滚动条的自动隐藏和显示。

Second Step:更加数据结构创建实体类

package com.devilwwj.androiddevelopcourse.domain;

/**

  • Created by devilwwj on 15/10/7.

*/

public class User {

private String imageUrl;

private String name;

private String description;

public String getImageUrl() {

return imageUrl;

}

public void setImageUrl(String imageUrl) {

this.imageUrl = imageUrl;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getDescription() {

return description;

}

public void setDescription(String description) {

this.description = description;

}

@Override

public String toString() {

return “User{” +

“imageUrl=’” + imageUrl + ‘’’ +

“, name=’” + name + ‘’’ +

“, description=’” + description + ‘’’ +

‘}’;

}

}

Third Step:Activity展示

package com.devilwwj.androiddevelopcourse.activities;

import android.content.Context;

import android.os.Bundle;

import android.support.v7.app.ActionBarActivity;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.ListView;

import android.widget.TextView;

import com.devilwwj.androiddevelopcourse.R;

import com.devilwwj.androiddevelopcourse.domain.User;

import java.util.ArrayList;

import java.util.List;

/**

  • A020-列表容器之ListView

  • @author devilwwj

*/

public class ListViewTestActivity extends ActionBarActivity implements OnItemClickListener{

private ListView mListView;

private ListViewAdapter mAdapter;

private Context mContext;

private List userList;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_listview);

mContext = ListViewTestActivity.this;

mListView = (ListView) this.findViewById(R.id.listView);

/* 模拟数据 */

userList = new ArrayList();

for (int i = 0; i < 20; i++) {

User user = new User();

学习分享

①「Android面试真题解析大全」PDF完整高清版+②「Android面试知识体系」学习思维导图压缩包——————可以点击我的【Github】免费下载,最后觉得有帮助、有需要的朋友可以点个赞

图压缩包——————可以点击我的【Github】免费下载**,最后觉得有帮助、有需要的朋友可以点个赞

[外链图片转存中…(img-8ffofEOp-1644121578075)]

[外链图片转存中…(img-RvyPK0ox-1644121578077)]

[外链图片转存中…(img-V3oh5d8R-1644121578077)]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值