Chinaunix首页 | 论坛 | 博客
  • 博客访问: 580912
  • 博文数量: 192
  • 博客积分: 3780
  • 博客等级: 中校
  • 技术积分: 1487
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-26 10:11
文章存档

2012年(6)

2011年(160)

2010年(26)

分类: 嵌入式

2010-09-02 10:41:07

ExpandableListView和其他组件相互整合布局
举个例子:ExpandableListActivity中包含着两大部分组件:
1. 是由搜索框和搜索按钮组合的组件
2.是标准的ExpandableListView
如下图所示:
 
    因为,ListviewExpandableListView都可以为其设置“表头组件”和“表尾组件”,即: addHeaderView addFooterView,然后做一下registerForContextMenu(listView),就可以了。具体代码如下:
 
 

@Override
public
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//删除N行......


//增加列表头元素


ExpandableListView listView =
getExpandableListView();

//界面布局


LinearLayout myLinearLayout = new LinearLayout(this);

LinearLayout.LayoutParams param1 = new LinearLayout.LayoutParams(

LinearLayout.LayoutParams.WRAP_CONTENT,

LinearLayout.LayoutParams.WRAP_CONTENT

);

param1.setMargins(10, 16, 10, 12);

LinearLayout.LayoutParams param2 = new LinearLayout.LayoutParams(

LinearLayout.LayoutParams.WRAP_CONTENT,

LinearLayout.LayoutParams.WRAP_CONTENT

);

param2.setMargins(0, 16, 10, 12);

myLinearLayout.setOrientation(LinearLayout.HORIZONTAL);

myLinearLayout.setGravity(Gravity.CENTER);

//搜索框组件设置


searchEditText = new EditText(this);

searchEditText.setWidth(250);

searchEditText.setHint("搜: 名称、拼音、菜系、地址");

searchEditText.setSingleLine(true);

//搜索按钮组件设置


searchBtn = new ImageButton(this);

searchBtn.setBackgroundResource(R.drawable.btn_search);

searchBtn.setOnClickListener(new Button.OnClickListener() {

@Override

public
void onClick(View b) {

//搜索按钮的功能,以下功能和主题无关,省略......


}

});

//在布局中增加元素


myLinearLayout.addView(searchEditText,param1);

myLinearLayout.addView(searchBtn,param2);

//把组件加到表头


//关键简单的步骤,实现组合布局!


listView.addHeaderView(myLinearLayout);

registerForContextMenu(listView);

setListAdapter(mAdapter);
}

 

参考网址:

   

阅读(2705) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~