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 ,