欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

AbsListView的Header不能直接固定大小为0

程序员文章站 2022-06-24 18:13:29
...

 

直接上代码:

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。

 

 

相关标签: ListView Header