ListView中item高度设置失败

关于设置ListView的item高度的问题,这篇博客深入分析了源码,讲的很详细。

 android 关于listview item设置高度的问题解决方法

博主的结论,可以归结为:

不能在item布局文件的最外层设置width和height,否则无效,android会自动采用内部默认的布局参数,分别是MATCH_PARENT和WRAP_CONTENT。解决方法有两个,一个修改xml文件,就是在原来的布局基础上再加一层LinearLayout,把最外层布局的width和height设置为WRAP_CONTENT即可,另外一个就是在adapter的getView中加点代码,设置布局参数。

嵌套布局这种方式上有些累赘,其实只要保证最外层的布局文件的width和height不是具体的值即可。具体方法有很多种

1.如果是布局中只有一个View(比如TextView)的话,可以把高度设置在TextView上,外层设置为wrap_content

2.内层布局有多个View,可以选择一个子view设置高度,来撑起整个item的高度。如果这样不行的话,可以设置一个固定高度的遮罩层。

猜你喜欢

转载自blog.csdn.net/Smile_Qian/article/details/88692931