当前位置:操作系统 > 安卓/Android >>

android之ExpandableListView的使用

ExpandableListView顾名思义既是可扩展的ListView,我们可用来实现菜单设置之类的功能。前些时间做项目用到了,现在给大家分享一下 ExpandableListView的实现方式。

先上效果图:

  \

展开后:

 \


 

布局文件如下:


[html] <?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <ExpandableListView android:id="@+id/newsList" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:cacheColorHint="@color/transparent" 
        android:drawSelectorOnTop="false" 
        android:groupIndicator="@null" 
        > 
    </ExpandableListView> 
</LinearLayout> 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >
 <ExpandableListView android:id="@+id/newsList"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:cacheColorHint="@color/transparent"
  android:drawSelectorOnTop="false"
  android:groupIndicator="@null"
  >
 </ExpandableListView>
</LinearLayout>
ExpandableListView父栏目的布局如下:

 

[html] <?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="wrap_content" 
    android:layout_height="32dip" 
    android:background="@drawable/bg_group" 
    android:padding="5dip" 
    > 
    <TextView android:id="@+id/group_text" 
        android:textSize="22dip" 
        android:textColor="@color/white" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"/> 
    <ImageView android:id="@+id/group_image" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:paddingLeft="10dip" 
        android:paddingTop="3dip" 
    /> 
</LinearLayout> 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="horizontal"
 android:layout_width="wrap_content"
 android:layout_height="32dip"
 android:background="@drawable/bg_group"
 android:padding="5dip"
 >
 <TextView android:id="@+id/group_text"
  android:textSize="22dip"
  android:textColor="@color/white"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"/>
 <ImageView android:id="@+id/group_image"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:paddingLeft="10dip"
  android:paddingTop="3dip"
 />
</LinearLayout>
子栏目的布局:


[html] <?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@color/white" 
    android:padding="5dip" 
    > 
    <TextView android:id="@+id/child" 
        android:layout_marginLeft="10dip" 
        android:textSize="22dip" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"/> 
</LinearLayout> 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="horizontal"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:background="@color/white"
 android:padding="5dip"
 >
 <TextView android:id="@+id/child"
  android:layout_marginLeft="10dip"
  android:textSize="22dip"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"/>
</LinearLayout>下面看主要代码:


[java] package com.cloay.news; 
 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ExpandableListView; 
import android.widget.ExpandableListView.OnChildClickListener; 
 
import com.cloay.news.bean.NewsListAdapter; 
import com.cloay.news.service.MainService; 
 
/**
 * 实现栏目列表界面(使用ExpendListView实现)
 * @author Cloay
 * 2012-3-3
 * 下午09:38:12
 */ 
public class HomeActivity extends NewsReaderActivity{ 
    private ExpandableListView newsList; 
    @Override 
    public voi

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,