android 底部上拉菜单,【Android】树形菜单、扩展上拉菜单

当前位置:我的异常网» Android » 【Android】树形菜单、扩展上拉菜单

【Android】树形菜单、扩展上拉菜单

www.myexceptions.net  网友分享于:2013-08-23  浏览:254次

【Android】树形菜单、扩展下拉菜单

我引用的一位网友的,记录下来,以后慢慢来修改,在2.2上运行过,是可以的,xml里不需要配置

http://www.apkbus.com/forum.php?mod=viewthread&tid=1972&extra=

package com.test;

//参照这位同学的:http://www.apkbus.com/forum.php?mod=viewthread&tid=1972

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.os.Bundle;

import android.view.ViewGroup.LayoutParams;

import android.widget.ExpandableListView;

import android.widget.ViewFlipper;

public class Menu1Activity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

// 数据源

// 标题

List groupArray = new ArrayList();

// 子标题

List> childArray = new ArrayList>();

groupArray.add("第一章");

groupArray.add("第二章");

List tempArray01 = new ArrayList();

tempArray01.add("第1.1节");

tempArray01.add("第1.2节");

tempArray01.add("第1.3节");

List tempArray02 = new ArrayList();

tempArray02.add("第2.1节");

tempArray02.add("第2.2节");

tempArray02.add("第2.3节");

childArray.add(tempArray01);

childArray.add(tempArray02);

ExpandableListView expandableListView = new ExpandableListView(this);

ExpandableAdapter adapter = new ExpandableAdapter(this, groupArray,

childArray);

expandableListView.setAdapter(adapter);

addContentView(expandableListView, new LayoutParams(

LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

}

}

//

package com.test;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.view.Gravity;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AbsListView;

import android.widget.BaseExpandableListAdapter;

import android.widget.TextView;

public class ExpandableAdapter extends BaseExpandableListAdapter {

private List groupArray;

private List> childArray;

private Activity activity;

public ExpandableAdapter(Activity a,List groupArray,List> childArray) {

activity = a;

this.groupArray = groupArray;

this.childArray = childArray;

}

@Override

public Object getChild(int groupPosition, int childPosition) {

// TODO Auto-generated method stub

return childArray.get(groupPosition).get(childPosition);

}

@Override

public long getChildId(int groupPosition, int childPosition) {

// TODO Auto-generated method stub

return childPosition;

}

@Override

public View getChildView(int groupPosition, int childPosition,

boolean isLastChild, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

String string = childArray.get(groupPosition).get(childPosition);

return getGenericView(string);

}

@Override

public int getChildrenCount(int groupPosition) {

// TODO Auto-generated method stub

return childArray.get(groupPosition).size();

}

@Override

public Object getGroup(int groupPosition) {

// TODO Auto-generated method stub

return groupArray.get(groupPosition);

}

@Override

public int getGroupCount() {

// TODO Auto-generated method stub

return groupArray.size();

}

@Override

public long getGroupId(int groupPosition) {

// TODO Auto-generated method stub

return groupPosition;

}

@Override

public View getGroupView(int groupPosition, boolean isExpanded,

View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

String string = groupArray.get(groupPosition);

return getGenericView(string);

}

@Override

public boolean hasStableIds() {

// TODO Auto-generated method stub

return false;

}

@Override

public boolean isChildSelectable(int groupPosition, int childPosition) {

// TODO Auto-generated method stub

return false;

}

/****************************************以下为自定义方法*********************************************/

/**

* Children 's View

* @param string

* @return

*/

public TextView getGenericView(String string) {

AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 64);

TextView text = new TextView(activity);

text.setLayoutParams(layoutParams);

// Center the text vertically

text.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);

// Set the text starting position

text.setPadding(36, 0, 0, 0);

text.setText(string);

return text;

}

}

文章评论

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值