直接上代码:
LinearLayout mLayout = new LinearLayout(this); LayoutInflater.from(this).inflate(R.layout.header, mLayout, true); mListView.addHeaderView(mLayout);
如果设置(在Layout画出来之后):
LayoutParams lp = mLayout.getLayoutParams(); lp.height = 0; mLayout.setLayoutParams(lp);
则mLayout的高度不是0,会变为WRAP_CONTENT。
所以,需要再加一层Layout。
mLayout = new LinearLayout(this); LinearLayout container = new LinearLayout(this); LayoutInflater.from(this).inflate(R.layout.header, mLayout, true); container.addView(mLayout); mListView.addHeaderView(container);
这样才能正常将mLayout的高度设置为0。
相关推荐
这可以通过在getCount()方法中返回包含头部View在内的总数量,在getView()方法中判断position是否为0,如果是,就返回头部View,否则返回正常的列表项View。 ```java @Override public int getCount() { return ...
在ListView中实现“悬浮”效果,通常指的是Header或者Footer在用户滚动时始终保持在屏幕顶部或底部,这种效果可以增强用户体验,让用户更容易地看到关键信息。本教程将详细介绍如何在Android中实现ListView的悬浮...
- 注意,header和footer的position是固定的,header的position为0,footer的position等于getCount() - 1。 4. **适配器中的数据处理** - 在Adapter的`getCount()`方法中,除了返回实际数据的大小,还需要加上...
`GridView`是`AdapterView`的一个子类,它继承了`AbsListView`,主要用于显示一系列的数据项,这些数据项可以自定义排列,并且支持滚动。`GridView`会自动将数据源(通常是`ArrayList`或`Cursor`)中的元素分布到多...
- `ListView`继承自`AbsListView`,它是一个可以滚动的视图,用于显示一组长列表项。每个列表项可以通过`Adapter`来定制,使其具有不同的视图样式。 - 创建`ListView`首先要添加XML布局,在`layout.xml`文件中声明...